有crontab中的脚本不执行,需要在脚本里面export各种环境变量

[[email protected] ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH
export PATH
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1/
ORACLE_SID=jg
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
~
~
[[email protected] ~]$ crontab -l
*/30 * * * * /opt/jj/system.sh
30 11,17 * * * /opt/jj/oracle.sh
0 0 */3 * * /u01/oracle/exp.sh
30 4 * * * /opt/jj/back.sh
#0 4 * * * /opt/jjbak/scripts/jjbak.sh
0 4 * * * sh /u01/oracle/hydir/jjbak.sh >> /u01/oracle/oydir/oy.log &

[[email protected] ~]$ cat /u01/oracle/hydir/jjbak.sh
#!/bin/sh
echo ‘backup start!‘
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1/
export ORACLE_SID=jg
/u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target / <<EOF!
backup incremental level=1 database;
recover copy of database;
quit
EOF!
echo "image copy success!"
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus / as sysdba <<EOF!
CREATE PFILE=‘/opt/jjbak/pfile/pfilejg.ora‘ from spfile ;
quit
exit
EOF!
echo ‘backup success!‘
[[email protected] ~]$

时间: 2024-10-08 08:44:06

有crontab中的脚本不执行,需要在脚本里面export各种环境变量的相关文章

分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

一.分发系统介绍场景:公司业务逐渐扩大,后端服务端使用的编程语言是PHP,要运行PHP的环境,需要配置LAMP或者LNMP环境,最后还需要把代码上传到服务器上去,但是业务在迭代,需要新增功能,一台机器还好,可以在机器上直接修改,但是这样做不规范,如果机器有几十台或者上百台机器都是这一个站点的,比如有一个接口,APP访问量很大,APP需要调用服务端的一个接口,假如这个接口有50台机器在承载,这时候,就需要做一个分发系统,能够把每天或者每一段时间更新的代码分别发发布到这50台机器上去,分发器其实就是

Linux中export导入环境变量的几种方式

1.首先类似于windows中的设定系统环境变量的方式为,在/etc/profile中 export PATH=$PATH:....:... 注意间隔符为: 然后复用原来路径是$PATH的方式 2.用户级别的是修改~/.bash_profile之类的,注意桌面用户的话是不读取此环境变量的 3.shell级别的,只是在本次运行中有效 export DOMAIN_HOME="/home/middleware/weblogic1213/user_projects/domains/domain7001&

Crontab每一个半小时执行一次脚本写法

前段时间面试的时候,突然被问到一个问题,“在Linux中,如果有一个脚本,需要每隔一个半小时执行一次,应该怎么写?” 一时间没有回答上来,后面回来之后,想了一下才搞明白. 先把所有的执行脚本的执行时间列出来,就明白是怎么回事了. 01:30 03:00 04:30 06:00 07:30 09:00 10:30 12:00 13:30 15:00 16:30 18:00 19:30 21:00 22:30 00:00 把所有的执行时间分成两列,这就容易找到规律了. 整点的时间和整30分的时间跟下

分发系统介绍 expect脚本远程登录 expect脚本远程执行命令 expect脚本传递参数

expect脚本远程登录 yum install -y expect yum install -y tcl tclx tcl-devel 自动远程登录 #! /usr/bin/expect set host "192.168.133.132" set passwd "123456" spawn ssh [email protected]$host expect { "yes/no" { send "yes\r"; exp_co

Python中敏感信息(用户名、密码等)处理方法——添加到环境变量

前言: 写python程序时,经常碰到如:发送邮件.配置账号信息.难免需要在python程序中明文填写敏感信息,这个时候可以将敏感信息写入系统环境变量,通过python自带os模块去获取变量. Linux下: [email protected]:~# export USERNAME=cctv [email protected]:~# [email protected]:~# python Python 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/

解决centos系统自定义在rc.local中的脚本不能执行问题小记

时间:2015.8.27 困扰了一下午的问题,晚上终于搞定,把他记录在这里 出现centos中rc.local不能自行启动的问题,大概有这么几种情况: rc.local文件没有可执行权限:添加可执行权限  (备注:/etc/rc.d/rc.local为源文件,/etc/rc.local /etc/rc3.d/S99lcoal等均为软连接文件) 缺少环境变量,因为系统启动后最后执行rc.local,但是一些系统或者用户的环境变量没有加载:解决办法:(1)在执行脚本之前添加sleep 10延迟10秒

LinuxserverJboss执行环境搭建步骤和开机自己主动启动脚本编写执行

Jboss执行环境:Linux+Jdk+Jboss+jsp系统 Jboss软件说明:相似于Tomcat.就是一个跑Jsp系统的环境,他的网站路径跟Tomcat相似,Tomcat存放网站文件到webapps文件夹下,而Jboss存放在server/default/deploy文件夹下. 本次开发环境和測试过程例如以下: Linu操作系统:CentOS 64-bit JBoss软件下载地址http://sourceforge.net/projects/jboss/files/JBoss/JBoss-

shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别

结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本. 结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本. 验证依据:没有被export导出的变量(即非环境变量)是不能被子shell继承的 验证结果: [[email protected] ~]#n