cron作业脚本 – 该脚本不能从cron工作(或不启动)

我创build了一个脚本来做一些事情(在我为了testing的目的而只是回应“IS FINALY WORKING”)之后。 如果我input

#bash /var/www/html/somedir/script.sh

它工作正常。

问题是我需要一个cron来访问它,它不工作。

设置我使用的cron:

crontab -e

 15 * * * * /var/www/html/somedir/script.sh 

要么

 15 * * * * bash /var/www/html/somedir/script.sh 

我根本看不到结果。

另外我试图logging它

 15 * * * * /var/www/html/somedir/script.sh > cronscriptlog.log 

日志是空的。

os是CentOS 5.5。

确保/var/www/html/somedir/script.sh不依赖cron默认PATH之外的任何内容。 CentOS的默认path设置为/sbin:/bin:/usr/sbin:/usr/bin

你可能希望创build这样的cron作业:

 15 * * * * ( . /etc/profile && /var/www/html/somedir/script.sh ) 

要么

 15 * * * * su - user /var/www/html/somedir/script.sh 

得到一个类似于你的命令行的执行环境。

容易错过简单的事情有时。

另一个要检查的是cron环境,它会每隔一分钟运行一次,所以只要给它一次输出就可以注释掉。

* * * * * root env > /tmp/cronenv.log

Bash环境和cron环境总是有区别的。

CentOS系统中的cron日志文件/var/log/cron是否有相关的消息?

检查试图运行脚本的帐户的邮件,这是cron发送从脚本获得的任何输出的地方。

您只捕获了ypur脚本中的stdout,您也可以使用&> cronscriptlog.log捕获stderr。