1 crond服務未啓動
crontab不是Linux內核的功能,而是依賴一個crond服務,這個服務可以啓動當然也可以停止。如果停止了就無法執行任何定時任務了,解決的方法是打開它:
crond
或
service crond start
如果提示crond命令不存在,可能被誤刪除了,CentOS下可以通過這個命令重新安裝:
yum -y install crontabs
2 權限問題
比如:腳本沒有x執行權限,解決方法:
增加執行權限,或者用bash abc.sh的方法執行
3 路徑問題
有的命令在shell中執行正常,但是在crontab執行卻總是失敗。有可能是因爲crontab使用的sh未正確識別路徑,比如:以root身份登錄shell後執行一個/root/test.sh,只要執行
./test.sh
就可以了。但是在crontab中,就會找不到這個腳本,比如寫完整:
/root/test.sh
4 時差問題
因爲服務器與客戶端時差問題,所以crontab的時間以服務器時間爲準。
5 變量問題
有時候命令中含有變量,但crontab執行時卻沒有,也會造成執行失敗。