功能簡介
Cron 表示式解析工具會用白話解釋 Cron 排程,並列出它接下來的執行時間。Cron 語法很精簡,卻也很容易寫錯:0 9 * * 1-5 到底是平日早上 9 點,還是 9 點那一小時裡的每一分鐘?部署之前先把表示式貼到這裡,就能確切知道它什麼時候觸發。
五個欄位也會分別展開成它允許的確切值,範圍和間隔寫錯一眼就能看出來。
使用方法
- 在輸入框中輸入 Cron 表示式,或點 範例。
- 閱讀說明文字和欄位表。如果有錯誤,提示會指出出錯的欄位和欄號,例如小時寫成 24。
- 選擇用 本地 時間或 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。