Cron
如何取消延遲一定時間的 anacron 作業?
背景:我想每天在筆記型電腦上備份一些文件,有時會連續幾天關閉筆記型電腦。
我嘗試將備份安排為
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 anacron
並man 5 anacrontab
了解更多詳細資訊。