
我正在嘗試編寫一個 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(含)。如果是這樣,請執行您想要的任何腳本。