Cron
如果使用者沒有登錄,是否會執行 cron 作業?
我設置了 crontab 來執行日常工作。
有時它會失敗並且永遠在同一個目錄中循環/工作。
第二天,crontab 將在同一目錄中執行相同的腳本。
預計每天晚上完成工作,但現在一天沒完成,就會和第二天的工作混為一談。
我計劃在每日 cron 作業(下午 5 點)之前(每天)重新啟動(例如:下午 4 點),是否會在重新啟動後執行 cron 作業而無需使用者登錄?
#Note 很明顯,問題出在腳本(以及腳本正在做什麼)而不是關於 crontab。
是的,只要
cron
守護程序當時正在執行,無論使用者登錄如何,都會按計劃執行 cron 作業。您已描述您的 cron 作業未按預期完成/完成工作。這不太可能是問題
cron
(因為腳本被正確觸發),但可能是您的 shell 腳本中的邏輯錯誤。您可以通過擷取腳本的輸出來解決問題。一種方法是讓腳本將詳細資訊輸出到 stdout/stderr,然後配置
cron
的電子郵件設置。cron
將擷取輸出並將其發送給您。另一種方法是在腳本內自己進行日誌記錄 - 創建一個日誌文件並將所有命令的 stdout/stderr 重定向到該文件。如果故障僅在特定條件下發生,您可以將檢查合併到您的腳本中。您可以檢查關鍵命令的退出狀態並在適當時報告失敗。
最後,關於重新啟動的說明。如果系統沒有在預定的時間執行,
cron
即使在系統恢復線上後也不會執行作業。如果這是您遇到的情況,請查看anacron
.