什麼是 Cron 表達式?Quartz Cron 完整說明
Cron 表達式是定義定時任務執行週期的字串格式,廣泛用於伺服器排程與自動化任務。Quartz Cron 使用 7 個欄位,比標準 Linux Cron 多一個「秒」欄位,可精確到秒級觸發。
| 位置 |
欄位 |
允許值 |
特殊字元 |
| 1 | 秒 | 0–59 | , - * / |
| 2 | 分 | 0–59 | , - * / |
| 3 | 時 | 0–23 | , - * / |
| 4 | 日 | 1–31 | , - * ? / L W |
| 5 | 月 | 1–12 | , - * / |
| 6 | 週 | 1–7 (日=1) | , - * ? L # |
| 7 | 年(可選) | 1970–2099 | , - * / |
Cron 排程常見問題(FAQ)
什麼是 Cron 表達式?
Cron 表達式是定義定時任務週期的字串,源自 Unix 系統。Quartz Cron 擴充為 7 個欄位,支援秒級精度,廣泛用於 Java Spring Boot 的 @Scheduled 排程。
Quartz Cron 和 Linux Cron 有何不同?
Linux Cron 有 5 個欄位(分、時、日、月、週),Quartz Cron 有 7 個欄位(秒、分、時、日、月、週、年),且支援 L(最後一天)、W(最近工作日)、#(第幾個週幾)等進階語法。
0 0 2 * * ? 代表什麼?
代表「每天凌晨 02:00:00 執行」。分解:秒=0、分=0、時=2、日=*(每天)、月=*(每月)、週=?(不限)。
如何設定每 5 分鐘執行一次?
使用表達式 0 0/5 * * * ?。其中 0/5 表示從第 0 分開始每 5 分鐘觸發一次。
本工具支援哪些框架的 Cron 語法?
本工具採用 Quartz Scheduler 語法,適用於 Java Spring Boot(@Scheduled)、Spring Batch、Quartz JobDetail 等框架。產生的表達式可直接複製使用,無需修改。