当前位置: 技术问答>linux和unix
-------------------crontab 后 不执行----------------
来源: 互联网 发布时间:2016-12-31
本文导语: 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 -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
为啥定时就不执行呢?
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 里。
用crontab -e 来编辑,写好后: “:wq” 保存。
这样肯定是执行的。
2: 再次检查你的shell,可以写个简单的shell 来测试一下。
vi /oracle/test.sh
!# /bin/sh
echo `date`
放到crontab 里。
|
应该是缺少相关的环境变量
在你的脚本的首行添加
. ~/.profile
在你的脚本的首行添加
. ~/.profile
|
su不用输密码的么?
|
su -;oracle -c "/oracle/dmpbackup.sh" > /dev/null
|
su -是一条命令,后边是一条命令,分开么。。
|
我遇见过同样的问题,解决的方法是:
将
su - oracle -c "/oracle/dmpbackup.sh" > /dev/null 2>&1
换成一个单独的脚本文件
将
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
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