Cron

是否可以安排一個 cron 作業每兩週執行一次?

  • August 30, 2021

有沒有辦法安排一個 cron 作業每兩週執行一次?

(我能想到的一種方法是在 內crontab為“日期”添加兩個條目……)

不,cron 只知道星期幾、月份的日期和月份。

在固定的日子(例如 1 日和 16 日)每月執行兩次命令很容易:

42 4 1,16 * *  do_stuff

每隔一周執行一次命令是另一回事。你能做的最好的事情就是每週執行一個命令,然後每隔一周讓它什麼都不做。在 Linux 上,您可以將自 epoch ( date +%s) 以來的秒數除以一周中的秒數,得到一個每週翻轉奇偶校驗的數字。請注意,在 crontab 中,%需要轉義(cron%在執行命令之前變成換行符)。

42 4 * * 1  case $(($(date +\%s) / (60*60*24*7))) in *[02468]) do_stuff;; esac

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