Cron

如何取消延遲一定時間的 anacron 作業?

  • January 8, 2019

背景:我想每天在筆記型電腦上備份一些文件,有時會連續幾天關閉筆記型電腦。

我嘗試將備份安排為cron作業並anacron用於執行錯過的作業,但不確定其工作方式anacron

例如,如果我在關閉 3 天后啟動筆記型電腦,是否會anacron執行所有 3 個錯過的備份作業?如果這是真的,停止anacron執行延遲一段時間(在這種情況下> 1 天)的作業的最佳方法是什麼?

如果您有一項anacron執行每日備份的作業,並且您的系統停機了三天,則將在第四天系統上線時執行一次anacron該作業。

詳細地說,anacron允許您指定以天為單位的頻率定期重複的命令。當anacron被呼叫時(可能在啟動時發生,也可能在一天中的預定義時間發生),它將從/etc/anacrontab配置文件中讀取作業列表。對於每個作業,anacron檢查該作業是否在最近 n 天內已執行。對於日常工作,這將是最後 1 天,即今天。如果該作業在此期間沒有執行,anacron 將執行該作業。

作業執行完成後,anacron將執行日期記錄在文件中,位於/var/spool/anacron. 該文件用於在第二天呼叫 anacron 時檢查作業的狀態。

由於anacron只查看自上次執行以來經過的天數和配置的執行頻率,因此不存在多次執行作業的問題。

/etc/anacrontab可以使用以下語法在配置文件中設置每日 anacron 作業:

1 15 backup-job /path/to/backup/script.sh

1 是以天為單位指定的命令執行頻率,15 是以分鐘為單位添加到作業執行的延遲,‘backup-job’ 是標識符,’/path/to/backup/script.sh’ 是要執行的命令。您可以查看man 8 anacronman 5 anacrontab了解更多詳細資訊。

引用自:https://unix.stackexchange.com/questions/493151