Cron
是否可以安排一個 cron 作業每兩週執行一次?
有沒有辦法安排一個 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