專業的在線 Cron 表達式生成器
在後端開發、系統維運以及自動化腳本編寫中,Cron 表達式是定義定時任務(Crontab/Quartz)的標準語言。然而,複雜的 Cron 規則往往晦澀難懂。這款 Cron 表達式在線生成器提供 Cron 表達式解析、可視化生成以及執行時間預測功能,作為一款高效的 Cron 表達式在線工具,能幫助您快速校驗並實現 Cron 表達式在線生成。
Cron 表達式結構詳解
標準的 Cron 表達式通常由 5 到 7 個字段組成,通過空格分隔:
| 字段 | 說明 | 允許值 | 允許特殊字符 |
|---|
| 秒 (Seconds) | Quartz 格式支援 | 0-59 | , - * / |
| 分 (Minutes) | 必選 | 0-59 | , - * / |
| 時 (Hours) | 必選 | 0-23 | , - * / |
| 日 (Day of Month) | 必選 | 1-31 | , - * / ? L W |
| 月 (Month) | 必選 | 1-12 或 JAN-DEC | , - * / |
| 周 (Day of Week) | 必選 | 1-7 或 SUN-SAT | , - * / ? L # |
| 年 (Year) | Quartz 可選 | 1970-2099 | , - * / |
常見問題 (FAQ)
1. 什麼是 Cron 表達式?
Cron 表達式是一個字串,由 6 或 7 個子表達式(字段)組成,描述特定的調度時間。它是配置各種系統(如 Linux Crontab、Java Quartz、Spring Task)定時任務的核心規則。
2. 標準 5 位與 Quartz 7 位格式有什麼區別?
Linux 標準的 Crontab 僅包含 5 個字段(分、時、日、月、周),最小單位是分鐘。而 Java 系統中常用的 Quartz 格式增加了“秒”和“年”字段,支援更精細的秒級調度,且在處理日與周的衝突時使用 ? 符號。
3. 特殊符號 *、/、? 分別代表什麼?
* 表示匹配該字段的所有可能值;/ 表示起始時間點開始的增量(如 0/5 表示每5個單位);? 僅用於日和周字段,表示“不指定具體值”,用於避免兩個字段之間的衝突。
4. 為什麼解析結果提示“非法表達式”?
這通常是因為字段數值超出了範圍(如秒設置了 61)、使用了不相容的特殊字符組合,或者在 Quartz 格式中同時為“日”和“周”指定了具體數值。請參考可視化編輯器進行修正。
5. 這個工具支援毫秒級定時嗎?
不支援。標準的 Cron 表達式最小單位為“秒”。如果您需要毫秒級調度,通常需要使用特定程式語言的 setInterval 或更高級別的消息隊列調度機制。
6. 週的起始值是 0 還是 1?
不同的系統定義不同。在標準 Unix 中,0 和 7 都代表週日。在 Quartz 系統中,1 代表週日,7 代表週六。本工具預設採用 Quartz 規範(1=SUN, 7=SAT),以獲得更好的相容性。
7. 轉換後的“最近運行時間”是基於什麼時區的?
預測時間是基於您當前瀏覽器所在的本地時區。如果您需要配置 UTC 時間,請在應用表達式時自行進行時差換算。
8. 是否支援一鍵匯出為 Crontab 文件?
您可以通過頂部的複製按鈕快速獲取生成的字串,並將其手動粘貼到系統的 crontab -e 編輯界面中。