DevToolPal
繁

Cron 表示式解析

用白話解釋 Cron 表示式,並列出它在本地時區或 UTC 下接下來的執行時間。

本機處理,不會上傳

選項

時區

Cron 表示式

結果

結果會顯示在這裡

功能簡介

Cron 表示式解析工具會用白話解釋 Cron 排程,並列出它接下來的執行時間。Cron 語法很精簡,卻也很容易寫錯:0 9 * * 1-5 到底是平日早上 9 點,還是 9 點那一小時裡的每一分鐘?部署之前先把表示式貼到這裡,就能確切知道它什麼時候觸發。

五個欄位也會分別展開成它允許的確切值,範圍和間隔寫錯一眼就能看出來。

使用方法

  1. 在輸入框中輸入 Cron 表示式,或點 範例。
  2. 閱讀說明文字和欄位表。如果有錯誤,提示會指出出錯的欄位和欄號,例如小時寫成 24。
  3. 選擇用 本地 時間或 UTC 顯示接下來的執行時間,以及要顯示幾次。

Cron 語法

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 are Sunday)
│ │ │ │ │
* * * * *
符號意義範例
*任意值小時欄位寫 * 表示每小時
,清單1,15 表示 1 日和 15 日
-範圍MON-FRI 表示星期一到星期五
/間隔*/15 表示每 15 分鐘

也接受快捷寫法:@hourly、@daily(或 @midnight)、@weekly、@monthly 和 @yearly(或 @annually)。

範例

表示式執行時間
*/5 * * * *每 5 分鐘
0 * * * *每小時整點
0 9 * * 1-5平日 09:00
30 2 1 * *每月 1 日 02:30
0 0 * * 0每週日午夜

常見問題

› 這個工具使用哪種 Cron 格式?

標準的五欄位 Unix(Vixie)Cron 格式,crontab、Kubernetes CronJob、GitHub Actions 和大多數排程器都採用這種格式。不支援含秒數的六欄位格式(Quartz、Spring)。

› 同時設定了「日」和「星期」會怎樣?

標準 Cron 只要其中一個符合就會執行。例如 0 0 1,15 * 5 會在每月 1 日、15 日以及每個星期五執行。

› 為什麼在我的伺服器上執行時間不一樣?

Cron 使用執行它的機器或服務所在的時區。GitHub Actions 和大多數雲端排程器使用 UTC,把「時區」切換成 UTC 就能看到它們實際會怎麼執行。

› 可以用 MON 或 JAN 這類名稱嗎?

可以。月份接受 JAN–DEC,星期接受 SUN–SAT,大小寫皆可。星期日可以寫成 0 或 7。