crontab執行失敗問題總結

背景:

腳本手動執行可以,放到crontab任務裏執行卻失敗。

問題及解決方法

問題1:這樣的任務都無法執行
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/$(date +"%m%d-%H%M").txt
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/`date +"%m%d-%H%M"`.txt

解決方法:%前面需要加 \,即:
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/$(date +"\%m\%d-\%H\%M").txt
*/10 * * * *     /usr/local/bin/python /tmp/test_all.py &> /tmp/result/`date +"\%m\%d-\%H\%M"`.txt

問題2:修改系統時間後任務不執行

解決方法:重啓crond服務

問題3:環境變量,crontab本身缺少環境變量

解決方法:腳本中使用souce或expect激活環境變量

問題4:路徑問題,腳本或計劃任務中攜帶相對路徑

解決方法:將腳本和計劃任務中攜帶相對路徑改成絕對路徑

問題5:腳本本身沒有執行性權限

解決方法:chmod +x 賦予腳本執行權限。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章