使用步驟
- 輸入或貼上表示式,例如 0 9 * * 1-5。
- 檢視中文說明以及每個欄位的取值。
- 選擇伺服器所在時區,檢視接下來 10 次實際的執行時間。
- 點選右側的常用示例,快速得到常見的定時規則。
引數說明
- 欄位
- 5 個欄位依次是分、時、日、月、周。前面再加一個欄位表示秒(Spring、Quartz、XXL-JOB 等使用)。
- 特殊字元
- * 表示任意值;, 表示列舉(1,15);- 表示範圍(1-5);/ 表示間隔(*/10 即每 10)。Quartz 在日和周欄位中用 ? 表示不指定。
- 星期
- 0 或 7 表示週日,1 表示週一,也可以寫 MON-FRI 這樣的英文縮寫。
- 時區
- 定時任務按伺服器時區執行,雲伺服器通常是 UTC。在這裡選擇對應時區,就能看到任務真正觸發的時間。
常用表示式
| 表示式 | 執行時間 |
|---|---|
* * * * * |
每分鐘 |
*/15 * * * * |
每 15 分鐘 |
0 * * * * |
每小時整點 |
0 9 * * 1-5 |
工作日 9:00 |
30 2 * * * |
每天 2:30 |
0 0 * * 0 |
每週日零點 |
0 0 1 * * |
每月 1 日零點 |
0 0 1 1 * |
每年 1 月 1 日零點 |
0 0 12 * * ? |
每天 12:00(Quartz,帶秒) |
常見問題
*/5 * * * * 是什麼意思?
每 5 分鐘執行一次,即每小時的第 0、5、10……分鐘。
為什麼任務執行時間差了 8 小時?
最常見的原因是伺服器使用 UTC,而你是按北京時間寫的表示式。上方選擇 UTC 就能看到真實的執行時間;也可以給任務設定 CRON_TZ 或 TZ 環境變數(如果排程器支援)。
日和星期同時指定時怎麼算?
標準 cron 中,如果兩個欄位都限定了值(例如 0 0 1 * 1),只要滿足其中一個就會執行,即每月 1 日和每週一都會執行。Quartz 為避免歧義,要求其中一個欄位寫 ?。
支援 Kubernetes CronJob、GitHub Actions 的定時嗎?
支援,兩者都使用標準的 5 位 cron。GitHub Actions 預設按 UTC 時區計算。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。