当前位置: 代码迷 >> AIX >> -crontab 后 不执行-该怎么处理
  详细解决方案

-crontab 后 不执行-该怎么处理

热度:7449   发布时间:2013-02-26 00:00:00.0
-------------------crontab 后 不执行----------------
crontab -l后显示:

30 23 * * * su - oracle -c "/oracle/dmpbackup.sh" > /dev/null 2>&1



/oracle/dmpbackup.sh的内容是:

## XX dmp ##
exp xx/xx@orcl file=/data/dmpbackup/xx/xx`date +%Y%m%d`.dmp


为啥定时就不执行呢?




------解决方案--------------------------------------------------------
给个思路吧:
用crontab -e 来编辑,写好后: “:wq” 保存。

这样肯定是执行的。

2: 再次检查你的shell,可以写个简单的shell 来测试一下。
vi /oracle/test.sh
!# /bin/sh
echo `date`

放到crontab 里。
------解决方案--------------------------------------------------------
应该是缺少相关的环境变量
在你的脚本的首行添加
. ~/.profile
------解决方案--------------------------------------------------------
su不用输密码的么?
------解决方案--------------------------------------------------------
su -;oracle -c "/oracle/dmpbackup.sh" > /dev/null
------解决方案--------------------------------------------------------
su -是一条命令,后边是一条命令,分开么。。
------解决方案--------------------------------------------------------
我遇见过同样的问题,解决的方法是:

su - oracle -c "/oracle/dmpbackup.sh" > /dev/null 2>&1
换成一个单独的脚本文件
------解决方案--------------------------------------------------------
设置下ORACEL_HOME等试试,如:
crontab -e -u oracle

30 23 * * * ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 ORACLE_SID=xxxx /u01/app/oracle/product/10.2.0/db_1/bin/exp xx/xx@orcl file=/data/dmpbackup/xx.dmp