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,以確定具體的失敗原因。