重點摘要
- 01純英文解釋讓您輕鬆確認cron作業在部署前實際做什麼。
- 02下一個5個UTC執行時間以ISO-8601格式列出,用於時區安全驗證。
- 03支援範圍(1-5)、清單(1,3,5)和步驟(*/15),遵循標準Vixie-cron規則。
- 04所有內容在您的瀏覽器中運行——無後端、無帳戶、無網絡請求。
為什麼Cron運算式容易出錯
Cron語法緊湊於設計,但這種緊湊性使其在錯誤的時間輕易排程作業。午夜備份在UTC時中午開火、步驟運算式錯過預期時間或日期值差一——這些錯誤在作業在星期一早上無聲地不運行後才難以捕獲。不知道欄位順序,大聲讀出0 */6 * * 1-5不會告訴您太多。
Handytool的cron建構器通過將任何有效運算式轉換為您實際可以閱讀的句子,然後顯示它在UTC中接下來會開火的五次時間來解決此問題。在它到達生產之前捕獲錯誤,而不是在排程任務在星期一早上失敗之後。
如何建構和驗證Cron運算式
- 01
從預設開始或輸入您自己的
預設(每分鐘、每小時、每日午夜和每週星期一)給您正確的起點。切換到手動條目以自訂排程。
- 02
輸入您的5個欄位
以分鐘 小時 月日 月 周日的順序輸入運算式。建構器在您輸入時驗證每個欄位的界限。
- 03
閱讀純英文描述
解釋實時更新。確認句子符合您的意圖——例如'在每第6個小時、星期一至星期五的:00'。
- 04
檢查下一個5個執行時間
即將到來的開火時間以ISO-8601 UTC列出。使用它們驗證邊界情況(如月末邊界或時區偏移)。
Cron語法快速參考
所有五個欄位遵循這些規則:
- 01星號(*)表示欄位中的每個有效值
- 02斜杠(*/N)以N的增量遍歷範圍
- 03破折號(A-B)匹配A至B的每個值,包含
- 04逗號(A,B,C)匹配特定值列表
- 05欄位範圍:分鐘0-59、小時0-23、日1-31、月1-12、周日0-6(星期日=0)
無安裝、無服務器
cron建構器使用JavaScript完全在您的瀏覽器中解析運算式和計算下次執行時間。沒有任何內容發送到服務器,因此沒有註冊、沒有API配額和沒有延遲。下次執行計算逐分鐘模擬與標準Vixie-cron規則的匹配,這是大多數生產排程器使用的相同方法。
不支援6欄位運算式(帶前導秒欄位)和@daily或@weekly等特殊字符串。大多數生產環境——包括cron本身、Kubernetes和GitHub Actions——使用標準5欄位形式,因此建構器專注於此。
Cron運算式建構器常見問題
此建構器支援哪種cron方言?
標準5欄位Vixie-cron:分鐘、小時、月日、月、周日。不支援@daily/@weekly縮寫和6欄位秒語法,因為大多數生產排程器使用5欄位形式。
為什麼下一次執行時間以UTC顯示?
大多數CI/CD系統和雲排程器以UTC解釋cron運算式。顯示UTC讓預覽可攜帶並避免誤導的本地時間顯示。
分鐘欄位中*/15和0,15,30,45之間有什麼區別?
兩者每15分鐘開火。*/15從0開始並以15步進,相當於0,15,30,45。對於小時欄位,*/6表示0,6,12,18。
我可以在月的最後一天排程作業嗎?
標準cron沒有'最後一天'token。您可以使用月日欄位中的28-31進行近似,但為了乾淨地處理短於31天的月份,在作業腳本內檢查日期。
是否有方法在每個工作日上午9點執行作業?
是的:0 9 * * 1-5 在UTC上午09:00星期一至星期五開火。在部署之前在建構器的純英文輸出和下一次執行列表中驗證它。