Linux crontab不执行问题排查


问题描述:

在CentOS上配置了一个crontab,想让它每天执行一次,配置语法没有问题,但是却查不到程序执行的log,所以程序就没有执行。

crontab配置如下:

00 11 * * * sh /opt/geo/search-task-2.0/bin/updateGeoIndex.sh

解决方案:

通过Google,得知可以通过/var/spool/mail/root(user name)查看crontab具体执行信息,于是

vim /var/spool/mail/root

看到crontab的执行log如下:

set JAVA_HOME=/usr/local/java/jdk1.6.0_35
/opt/geo/search-task-2.0/bin/updateGeoIndex.sh: line 23: bin/search-task.sh: No such file or directory

通过Log可以看出是因为找不到search-task.sh,原来是search-task.sh的路径有问题,修改路径之后,crontab成功运行。
 
所以大家如果发现crontab不执行的问题,首先可以去看/var/spool/mail/root这个Log,以确定具体的失败原因。

相关内容