跳至主要內容
Lizely

Cron 解析器

驗證經典五欄位 cron 表示式,說明所選欄位,並計算下五個相符的時間。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.請依照分鐘、小時、月內日、月份、週日的順序輸入恰好五個欄位。
  2. 2.可使用數值、星號萬用字元、逗號分隔清單、包含性範圍,或步長如 */15。
  3. 3.請閱讀標準化表示式、欄位摘要,以及下五個本機與 UTC 執行時間。
  4. 4.請確認此表示式與實際執行該任務之排程服務的檔案與時區設定相符。

關於Cron 解析器

Cron 表示式簡潔,但簡潔性也掩蓋了錯誤。一個位置錯誤的欄位可能讓任務從每小時變成每天執行,而看似正確的日規則行為可能與一般日曆過濾不同。Cron 解析器檢查經典數值五欄位 crontab 格式:分鐘、小時、月內日、月份、以及週日。支援星號萬用字元、逗號分隔清單、包含性數值範圍,以及正步長的萬用字元或範圍。驗證後會整理空白與格式,說明每個欄位的選擇內容,並計算下五個相符的瞬間。結果以瀏覽器本機時間顯示,並提供 ISO UTC 時戳,以便跨系統比較。

每個欄位皆依照 Cronie 風格 crontab 檔案使用的常規範圍檢查。分鐘範圍為 0 至 59,小時為 0 至 23,月內日為 1 至 31,月份為 1 至 12,週日為 0 至 7。0 與 7 均標準化為週日。清單可結合單一值與範圍,例如 0,15,30,45 或 8-12。步長如 */10 表示從最小值開始每第十個值執行,而 10-50/20 則選擇 10、30 與 50。遞減範圍、零步長、空清單項目、超出欄位範圍的值、額外命令文字,以及非恰好五欄位的輸入皆將被拒絕,並提供明確錯誤訊息。

日相關欄位需特別留意。在傳統 cron 行為中,若月內日與週日皆有限制,時間可匹配任一欄位符合的條件。例如,選擇月內第 21 日與週一的規則,將在每週一與每月 21 日執行。若其中一欄為萬用字元,則受限欄位控制匹配結果。Cron 解析器遵循此文件記載的「或」行為。它也使用 UTC 進行內部計算,避免日光節約時間跳躍的影響,並在計算中確保結果的決定性,但此並不會改變實際執行任務的時區設定。

本工具專注於行動式的數值核心,而非所有 cron 語法變體。不支援如 JAN 或 MON 之名稱、@daily 之別名、秒或年欄位、Quartz 訊息符號、最後一天語法、雜湊排程、隨機範圍或廠商特定宏。這些功能在 Cronie、Vixie cron、systemd 定時器、Kubernetes、Quartz、雲端排程與 CI 服務中各不相同。在六或七欄位服務中使用的五欄位表示式可能代表不同意義,或直接被拒絕。請務必查閱特定排程服務與部署環境的檔案說明。

上傳執行的計算會以整分鐘為單位向前掃描,若五年內無法找到五個相符的結果將中止。此安全限制可避免錯誤或極度稀疏的輸入導致瀏覽器卡死。日曆的有效性由 JavaScript Date 處理,因此自然會跳過無 31 日的月份,且二月的閏年規則亦會正確適用。解析器不會執行命令、連線伺服器或儲存表示式,其輸出僅作為驗證輔助:在部署關鍵的備援、計費、通知或維護作業前,應確認生產排程的時區、夏令時政策、日欄語義以及支援的擴充套件功能。

方法與來源

精確 tokenize 五個欄位,將經過驗證的數字萬用字元/清單/範圍/步驟語法擴充套件為獨特的值集,將週日 7 正規化為週日 0,應用檔案中說明的月份/週日 OR 語義,並在受限制的 UTC 分鐘瞬間掃描未來的匹配項。

常見問題

這個解析器是否支援 Quartz 或六欄位的 cron?
不。它針對經典的數值五欄位 crontab 檔式語法。Quartz、雲端排程工具以及其他產品可能會加入秒數、年份、問號或不同的週日規則。
當設定日內月份與週日同時存在時會發生什麼情況?
傳統 cron 在受限日欄匹配時會進行匹配。解析器遵循 OR 行為,而非要求兩個欄位同時匹配。
使用的是哪個時區?
下次執行引擎會列舉 UTC 時間點,並在瀏覽器的本機時間顯示。實際的排程器則使用其自身設定的時區,你必須另外確認。

開發者工具 使用指南

查看全部