用 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。