在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,以确定具体的失败原因。