cron 作業在一個月中第二個星期一之前的星期四運行

cron 作業在一個月中第二個星期一之前的星期四運行

我正在嘗試編寫一個 cron 計劃,在一個月的第二個星期一之前的星期四運行一項作業。到目前為止我有這個

0 0 8 ? * MON#2

但這是在該月的第二個星期一進行的。有沒有辦法讓我從那個時間倒退四天到上週四?

例如,對於 2016 年 9 月,該月的第二個星期一是該月的 12 號。因此,我想將其安排在上週四(即該月的 8 號)運行。

答案1

我認為你不能在 cron 中做到這一點。也許0 0 * * 4您應該每個星期四運行一個腳本,在該腳本中,您可以檢查它是否是該月第二個星期一之前的星期四。

答案2

0 0 * * 4 [ $(date +\%d) -ge 4 -a $(date +\%d) -le 10 ] && run-script

在星期四(此處為該月任一天的午夜)執行一個使用 test ( [) 的 crontab 條目,並date查看該月的某一天是否包含 4..10(含)。如果是這樣,請執行您想要的任何腳本。

相關內容