crontab 執行失敗的幾種原因

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執行時卻沒有,也會造成執行失敗。

發佈了95 篇原創文章 · 獲贊 11 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章