linux crontab不执行问题排查
 
问题描述:
 
在CentOS上配置了一个crontab,想让它每天执行一次,配置语法没有问题,但是却查不到程序执行的log,所以程序就没有执行。
 
crontab配置如下:
 
[plain] 
00 11 * * * sh /opt/geo/search-task-2.0/bin/updateGeoIndex.sh  
 
解决方案:
通过Google,得知可以通过/var/spool/mail/root(user name)查看crontab具体执行信息,于是
 
[plain] 
vim /var/spool/mail/root   
 
看到crontab的执行log如下:
[plain] 
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,以确定具体的失败原因。