crontab执行expdp命令无效

redhat系统使用oracle用户写了如下脚本,导出oracle数据库,按照日期命名

#!/bin/sh


BACKUPTIME=$(date +%Y%m%d)

expdp cem/cem@orcl directory=DATA_PUMP_DIR schemas=cem_sx dumpfile=cemuat-$BACKUPTIME.dmp logfile=cemuat-$BACKUPTIME.log

~  
手动执行./ 可以正常导出oracle数据库,但是放在crontab中出现命令无效,经过网上查找发现是没有引入环境变量

30 1 * * * /bin/sh /home/oracle/autoBackupOracle.sh
参考http://blog.csdn.net/zhubin215130/article/details/43271835博客实现无效,原因未知。 加入这个 . /etc/profile;无效。

可以确定的是变量没有引入,按照别人的方式也引入失败,现改为如下:

30 1 * * * . ~/.bash_profile;  /bin/sh /home/oracle/autoBackupOracle.sh

手动引入“ . ~/.bash_profile; ”,执行成功。

总结:

crontab无效原因:

1.服务没有启动。

2.环境变量没有引入


你可能感兴趣的:(linux)