如何編寫 Cron 表達式(入門指南)

開發者

透過範例和常見模式學習 5 欄位 cron 語法,正確排程任何定期任務。

步驟指南

1

了解 5 個欄位

Cron 表達式由 5 個以空格分隔的欄位組成:分鐘(0–59)、小時(0–23)、日(1–31)、月(1–12)、星期(0–7,0 和 7 均表示週日)。範例:`30 9 * * 1` 表示「每週一上午 9:30」。

2

使用 * 表示「每個」

星號表示「每個有效值」。`* * * * *` 每分鐘執行一次。`0 * * * *` 每小時整點執行。`0 0 * * *` 每天午夜執行。

3

使用逗號列舉多個值

逗號可列舉特定值。`0 9 * * 1,3,5` 在週一、三、五 9:00 執行。`0 0 1,15 * *` 在每月 1 日和 15 日午夜執行。

4

使用斜線表示間隔

斜線定義步進間隔。`*/15 * * * *` 每 15 分鐘執行一次。`0 */6 * * *` 每 6 小時執行一次。`*/5 9-17 * * *` 在 9 AM 到 5 PM 之間每 5 分鐘執行。

5

使用連字號表示範圍

連字號指定範圍。`0 9-17 * * 1-5` 在工作日 9 AM 到 5 PM 每小時執行一次。可組合逗號和斜線實現複雜排程。

使用免費工具

Cron 產生器

常見問題

Q: 如何每 30 分鐘執行一次任務?

A: `*/30 * * * *` 或 `0,30 * * * *` 均可,兩種表達式都在每小時的整點和半點執行任務。

Q: Cron 使用哪個時區?

A: 傳統 cron 使用伺服器系統時區。雲端排程器(如 AWS EventBridge、GitHub Actions)通常預設使用 UTC。請務必檢查您所使用平台的時區設定。

Q: 日欄位和星期欄位有什麼區別?

A: 若兩個欄位均為非星號值,大多數 cron 實作在滿足任一條件時(邏輯 OR)執行任務。對不需要限制的欄位請使用 `*`。

相關指南