免費轉換器

Cron 表達式 產生器

在瀏覽器中即時生成、解釋和驗證 cron 表達式。視覺化建構器和表達式解析器 — 免費、私密、客戶端執行。

Cron 表達式
0 */6 * * *
易讀描述
Every minute
接下來5次執行時間
Calculating...

關於此工具

Cron 表達式是五個(或六個,取決於系統)空格分隔的字段,用於描述計劃:分鐘、小時、日期、月份和星期幾。每個欄位接受數值、範圍、清單、增量和通配符。自 20 世紀 70 年代末以來,Cron 一直是事實上的 Unix 調度格式,現在的使用範圍遠遠超出了 Unix,包括 Kubernetes CronJobs、GitHub Actions、AWS EventBridge 規則、Jenkins 作業以及幾乎所有其他生產中的調度系統。

手動讀寫 cron 表達式很容易出錯。這些欄位是位置性的,月份和星期幾的互動並不明顯(任一欄位中的值都會觸發作業,而不是兩者),錯誤會悄悄地產生看起來正確但在​​錯誤時間觸發的計畫。將簡單英語計劃轉換為正確的 cron 語法的生成器可以避免這些錯誤。

該工具提供兩個方向:從友善的形式建立 cron 表達式(每週一上午 9 點,工作時間每 5 分鐘一次),以及用人類術語解釋現有的 cron 表達式。兩者都在瀏覽器中運行,無需任何伺服器互動。

為什麼要使用 Cron 生成器

Cron 文法密集且無情。常見錯誤包括混淆星期編號(星期日是 0 或 7,取決於系統)、忘記月份中的某一天和星期幾使用 OR 語義,以及誤解增量語法(*/5 表示從 0 開始每 5 個)。生成器透過構造捕獲這些 - 生成的表達式與您在表單中描述的內容相符。

閱讀現有的表達式同樣困難。一旦您了解了語法,像 0 9 * * 1-5 這樣的時間表就會讀作每個工作日上午 9 點,但任何不熟悉 cron 的人都必須查找每個字段。用人類術語解釋表達比學習一次性互動的語法更快。

使用方法

選擇一個計劃模式,取得 cron 表達式。

  1. 選擇生成模式: 根據表單輸入(頻率、時間、天數)建立 cron 表達式,或用人類術語解釋現有表達式。
  2. 配置時間表: 選擇頻率(每分鐘、每小時、每天、每週、每月、自訂)。依需求指定時間、天數和間隔。此表單將輸入限制為有效組合。
  3. 產生或解釋: Generation 生成标准 cron 语法(5 个字段)。该解释分解了每个字段并给出了人类可读的摘要。
  4. 在您的排程器中使用: 将生成的表达式粘贴到 Kubernetes CronJob 规范、GitHub Actions 计划、AWS EventBridge 或您平台的调度程序中。

常見用例

技術細節

標準 cron 有五個欄位:分鐘 (0–59)、小時 (0–23)、月份 (1–31)、月份 (1–12)、星期幾(0–6 或 0–7,皆為星期日)。每個欄位接受單一值、逗號分隔清單、帶連字符的範圍、帶 / 的增量或帶 * 的通配符。

月份和星期幾使用 OR 語意:如果其中任一設定為非通配符值,則作業在任一符合時運行。這是違反直覺的,但符合 POSIX cron 行為。設定這兩個欄位會產生更寬的時間表,而不是更窄的時間表。

擴展因實作而異。有些接受秒的第六個欄位(Quartz、Spring);有些接受?作為通配符替代;有些包括@yearly、@monthly、@daily 快捷方式。此生成器產生適合大多數系統的標準 5 字段 cron。

最佳實踐

常見問題

cron 表達式的格式是什麼?
標準 cron 使用 5 個欄位:分鐘 (0-59)、小時 (0-23)、月份 (1-31)、月份 (1-12)、星期幾 (0-7,其中 0 和 7 是星期日)。特殊字元:*(任意)、、(列表)、-(範圍)、/(步長)。
如何將作業設定為每 5 分鐘運行一次?
在分鐘字段中使用 */5:“*/5 * * * *”。 /5 表示「每第 5 個值」。同樣,*/15 = 每 15 分鐘一次,*/2 = 每 2 分鐘一次。
cron 使用什麼時區?
Cron 通常使用系統時區。在 Linux 伺服器上,除非另有配置,否則通常為 UTC。雲端服務(AWS、GCP)通常預設為 UTC。請務必檢查系統的時區設定。
這與 GitHub Actions 使用的格式相同嗎?
GitHub Actions 使用相同的 5 欄位格式,但在 UTC 時區執行。 AWS CloudWatch 和 Kubernetes CronJobs 也使用這種格式。有些系統(例如 Quartz)使用帶有秒的擴充 6-7 欄位格式。
星期幾中的 0 和 7 有什麼不同?
兩者都表示星期日。 POSIX cron 接受 0–6 或 0–7。使用您喜歡的特定 cron 實現;大多數人兩者都接受。
對於非標準 cron 的解釋器是否準確?
它的目標是標準的 5 字段 cron。 Quartz 擴展(帶秒)、AWS EventBridge 變體和其他方言可能無法正確解析。根據目標系統的文件進行確認。
我的表情會傳送到伺服器嗎?
不會。產生和解釋發生在您的瀏覽器中。
@yearly、@monthly 快捷方式怎麼樣?
常見的 cron 實作支援 @yearly、@monthly、@weekly、@daily、@hourly 和 @reboot 作為常見計劃的快捷方式。生成器產生標準的 5 欄位表達式;如果您的排程器接受捷徑,您可以手動取代它們。