跳至主要內容
SPCXTools

Cron 表達式產生器

撰寫 crontab 排程,以白話文閱讀說明,並準確確認下次執行的時間。

本機執行 — 檔案絕不會離開您的裝置

正在載入工具…

如何使用 Cron 表達式產生器

  1. 1輸入 Cron 表達式,或從預設值開始(例如「平日 09:00」)。
  2. 2編輯五個欄位 — 分鐘、小時、日期、月份和星期 — 您可以個別設定,或直接在主文字方塊中修改。
  3. 3閱讀白話文說明,確保排程符合您的預期。
  4. 4查看在您所在時區的下次執行時間,然後複製該表達式。

安心編寫 Cron 排程

Cron 表達式簡潔、強大,但也容易寫錯。只要一個欄位放錯,就可能把「每天凌晨 2 點」變成「凌晨 2 點到 3 點之間的每一分鐘」。這款 Cron 表達式產生器讓您可以逐個欄位或透過預設值來建立排程,並以白話文解釋,同時列出接下來的執行時間,確保您的備份、報表或清理任務都能在預期的時間準確執行。

功能特色

  • 五欄位編輯器與完整表達式同步。
  • 排程的白話文說明。
  • 依您的時區計算未來五次執行時間。
  • 最常用排程的預設值。
  • 驗證功能提供明確訊息,指出哪個欄位出錯。
  • 支援月份與星期名稱(JAN–DEC、SUN–SAT)及 @daily 等快捷指令。
  • 可在瀏覽器中離線使用。

Cron 語法速查表

┌───────── minute (0–59)
│ ┌─────── hour (0–23)
│ │ ┌───── day of month (1–31)
│ │ │ ┌─── month (1–12 or JAN–DEC)
│ │ │ │ ┌─ day of week (0–7 or SUN–SAT; 0 and 7 = Sunday)
│ │ │ │ │
* * * * *
符號 意義 範例
* 所有值 * * * * * — 每分鐘
, 列表 0 8,12,18 * * * — 在 08:00、12:00 與 18:00
- 範圍 0 9-17 * * * — 從 09:00 到 17:00 的每小時
/ 間隔 */15 * * * * — 每 15 分鐘

常見範例

運算式 執行時間
*/5 * * * * 每 5 分鐘
0 * * * * 每小時整點
0 2 * * * 每天 02:00
0 9 * * 1-5 平日 09:00
0 0 * * 0 每週日午夜
0 0 1 * * 每月 1 號
0 0 1 1 * 每年 1 月 1 日
30 18 * * 5 每週五 18:30

小技巧

  • 注意時區。 伺服器與雲端排程器通常使用 UTC 時間。請使用時區轉換器來轉換為當地時間。
  • 對於非緊急任務,請避免設定在整點;許多系統會在 0 * * * * 執行任務,因此將分鐘設定為 7 等數字有助於分散系統負載。
  • 若要在日誌(Log)中檢查時間戳記,請搭配使用時間戳轉換器。

常見問題

cron 的五個欄位代表什麼意思?
由左至右分別為:分鐘 (0–59)、小時 (0–23)、日期 (1–31)、月份 (1–12 或 JAN–DEC) 以及星期 (0–7,其中 0 和 7 代表星期日,或 SUN–SAT)。例如,30 6 * * 1 代表每週一的 06:30 執行。
*、逗號、連字號與斜線代表什麼意思?
* 代表所有可能的值,逗號用來列舉多個值 (1,15),連字號表示範圍 (9-17),斜線則設定間隔 (*/10 = 每 10 單位,0-30/5 = 在 0 到 30 之間每 5 單位)。這些符號可以組合使用,例如 0,30 8-18 * * 1-5。
如果同時設定了日期和星期會怎樣?
在標準的 cron 中,如果這兩個欄位都有設定限制,只要符合其中一項條件就會執行任務。0 12 13 * 5 會在每個月的 13 號中午執行,同時也會在每個星期五執行——而不是只有在「13 號星期五」才執行。
顯示的下次執行時間是哪個時區?
這些時間是根據您裝置的時區計算的。伺服器執行 cron 時會使用其本身的時區(通常為 UTC),因此請記得自行換算——例如使用時區轉換工具。
支援秒數或年份欄位嗎?
本工具採用標準的五欄位格式,這也是 crontab、多數 Linux 系統、GitHub Actions、Kubernetes CronJobs 以及許多雲端排程器所使用的格式。某些工具(如 Quartz)會加入秒數和年份欄位;在此處檢查表達式之前,請先移除這些欄位。本工具支援 @daily 和 @hourly 等快捷指令。