crontab 定時任務沒有響應 檢測步驟
阿新 • • 發佈:2021-01-09
技術標籤:技術
設定規則
# 每分鐘執行一次
*/1 * * * * /scripts/script.sh
# 每小時執行一次
0 */1 * * * /scripts/script.sh
# 每天 02:00 執行一次任務
0 2 * * * /bin/sh backup.sh
# 每天 5:00和17:00分別執行一次任務
0 5,17 * * * /scripts/script.sh
參考 :https://blog.csdn.net/weixin_41004350/article/details/78492367
參考 : https://www.jianshu.com/p/d93e2b177814
定時任務啟動python指令碼規則案例
# 防止出現一些路徑錯誤,最好都使用絕對路徑
# 每分鐘執行一次
*/1 * * * * /etc/anaconda3/bin/python3 /home/mysticbiant/code/test.py >>/home/mysticbiant/test.py.log 2>&1 &
檢查crontab是否啟動
systemctl status crond
如果沒有啟動,自己搜尋一下如何啟動crontab.
檢查crontab日誌
tail -f /var/log/cron # 需要root許可權才能看到日誌,sudo一下 sudo tail -f /var/log/cron
如果日誌沒有在對應的時間啟動,就是有問題。
檢查賬號許可權和路徑
這個屬於重點,很多新手在這個問題都會搞錯,請仔細閱讀
crontab的定時任務計劃規則是一個賬號獨立一份,各自互不影響原則。比如說root有自己獨立的定時任務計劃,你建立的mysticbinary子賬號也有自己獨立的定時任務計劃,所以你書寫的重定向規則 >>out.log ,會在你對應的賬號路徑下生成。比如你使用root建立了crontab定時任務,那麼就得切換到/root/下檢視out.log檔案。