我想在一台並非一直運行但每天至少運行一次持續幾個小時的機器上每天運行一次 cronjob。 cronjob 的問題是,我必須給它準確的時間,它應該運行,但我的機器可能不會在這個特定時間運行。我知道 cron 有一個選項說“啟動時執行此操作”,但我的機器通常不會重新啟動,但我將其置於待機狀態。換句話說,我想每天執行一次某件事,但我無法給出確切的時間。有針對這個的解決方法嗎?
答案1
你想要類似的東西納克朗:
anacron 是一個執行定期命令調度的電腦程序,傳統上由 cron 完成,但不假設系統連續運行。因此,它可用於控制非 24 小時運行的系統上每日、每周和每月作業(或任何為期 n 天的作業)的執行。
在大多數 Linux 發行版中以軟體包形式提供。可能還有一個用於 MS Windows 的連接埠...
答案2
您可以從 /etc/rc2.d 中的啟動腳本呼叫該作業,該腳本將今天的日期與檔案中儲存的日期進行比較,然後更新該檔案。