1
我想要一個作業a執行每個15 mins
從10:30 AM
到8:30 PM
。我試過30/15 10-20 * * *
。但是,它忽略了時間11:00 AM
,11:15 AM
,12:00 PM
,12:15 PM
,1:00 PM
,1:15 PM
等Cron模式與開始和結束時間分鐘
我想知道上述表達式正確的cron字符串。
我想要一個作業a執行每個15 mins
從10:30 AM
到8:30 PM
。我試過30/15 10-20 * * *
。但是,它忽略了時間11:00 AM
,11:15 AM
,12:00 PM
,12:15 PM
,1:00 PM
,1:15 PM
等Cron模式與開始和結束時間分鐘
我想知道上述表達式正確的cron字符串。
# Run command every fifteen minutes between 10:30 and 20:30.
0,15,30,45 11-19 * * * …command…
30,45 10 * * * …command…
0,15,30 20 * * * …command…
第一行處理從11:00到19:45的整個小時。第二行處理10:30和10:45。第三行處理20:00,20:15,20:30(假設你也希望它在20:30運行 - 如果你不明白這個問題的話)。
它可能不美觀,但它會完成工作。只要確保…command…
序列足夠簡單,重複就很明顯。
您可以在您的cron
中用0/15
替換第一行的第一個組件。你可能會使用30/15
作爲第二個,但它看起來沒有比寫的更清晰。我不確定有什麼好的方法來取代其他線路。其他
一種可能性是,使指定每個刻鐘的時間範圍是重構它:
0 11-20 * * * …command…
15 11-20 * * * …command…
30 10-20 * * * …command…
45 10-19 * * * …command…
你可以任意結合前兩個那些。
嗯。所以我將不得不編寫多個cron模式。不可能從單一的.. ?? – Pattu
我不知道有什麼方法,但我沒有詳細研究現代的'crontab'格式。我寫的第七版Unix(1979)'cron'也可以工作(當時沒有單獨的'crontab'命令!)。對我而言,它不會引起痛苦;我會在'crontab'條目中指定一個簡單的shell腳本(例如'/ root/cron/specific-task.sh'),該腳本將包含任何複雜性。在我的書中,「crontab」文件或條目中的內容應該儘可能簡單,但並不簡單。如果你需要指定shell,那就這樣吧:'sh/root/cron/specific-task.sh'。 –