Shell

除週五的特定時間範圍外,每小時 Cron 作業

  • February 2, 2016

我希望我的 cron 作業每小時執行一次,除了星期五,我不希望它在凌晨 2 點到 9 點之間執行(但在此時間範圍之外每小時執行一次)。理想情況下,我希望在一行/一個 cron 工作中實現這一點。到目前為止,我有 2 行(我不是 100% 確定它是正確的):

0 0 * * 0,1,2,3,4,6 script.sh
0 0-1,10-23 * * 5 script.sh

格式似乎是正確的(在上面的評論中發布了更正後)。將所有內容放在一行中是否有一些特殊限制?如果您需要將所有內容放在一行中,我建議更改 shell 腳本以避免星期五凌晨 2 點到 9 點,例如

#!/bin/bash
# 此程式碼未經測試
# 週五凌晨 2-9 點跳過
# 什麼是非執行時間?
開始時間 = 2
結束時間 = 9

# 獲取目前星期幾
DAY=$(date +"%u") # 1-星期一,因此 5-星期五
# 和小時
小時=$(日期 +"%H")

if [ "$DAY" -eq 5 -a "$HOUR" -ge "$STARTTIME" -a "$HOUR" -le "$ENDTIME" ]
然後
# 結束執行
出口 0
是

希望對解決問題有所幫助!

坦率

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