用 cron 執行 anacron

anacron 是用來執行排程的程式, 但他不是像 cron 一樣的 daemon service, 只是每次被呼叫時會檢查所有任務上次執行時間, 如果過期就補執行。 因為這樣,需要不斷呼叫他, 一般是用 cron 每小時呼叫一次。

一般系統只有一支 /etc/anacrontab 在執行, 如果 user 要自己跑非 root 的 anacron 就要自己設定。 要執行 anacron 要設 anacrontab 和 spooldir, anacrontab 就是要執行的工作,執行時用 -t 指定, spooldir 則是存執行記錄的資料夾,用 -S 指定。

像我是設 anacron -t ~/.local/share/anacron/anacrontab -S ~/.local/share/anacron , 每次執行就是執行整行,參數也要。 有人寫在 .profile.bashrc , 反正一般人一天開一次機,開一次 terminal,差不多。

我目前是用 cron 一小時執行一次 , 好像有點太多?anacron 的最小單位是一天, 應該每開機一次執行一次差不多, 可能用 /etc/rc.local 或 userctl service 比較好。

我用到 anacron 主要是用來備份 firefox 的瀏覽紀錄, 因為大概只能保存幾個月,我就設一個月備份一次。 如果會用 sqlite,應該要用 sql 指令 每個月和舊的合併就好,但我不會 sql。