1. 程式人生 > >Linux 自動任務一行命令實現隔天執行

Linux 自動任務一行命令實現隔天執行

 最近有個需求,有些任務需要兩天執行一次,如果使用crontab 把日除以2,並不能實現隔天執行,而只是 1、3、5、……31 然後1號還會再執行,無意間再百度的一個回答離看到了巧妙解決的答案。如下(假設想隔一天的早上七點執行):

0 7 * * * test $(echo "$(date +%s)/86400%2"|bc ) -eq 0&&sh run.sh

說明:

date +%s  // 從 1970 年 1 月 1 日 00:00:00 UTC 到目前為止的秒數(時間戳),

我們除以86400(一天的秒數)得到天數,除以2取整,這樣就可以實現偶數天執行,集數天不執行。如果需要反著,就把0改為1