跳到正文
馬克工具箱

Cron 表示式解析

貼上 Cron 表示式,就能看到它的中文含義,以及在你的時區或伺服器時區下接下來會在什麼時間執行。支援標準 crontab、帶秒的表示式、Quartz 風格的 ? 以及 @daily 等簡寫。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

At 09:00, Monday through Friday

0
分
9
時
*
日
*
月
1-5
周

接下來的執行時間

  1. 1—
  2. 2—
  3. 3—
  4. 4—
  5. 5—
  6. 6—
  7. 7—
  8. 8—
  9. 9—
  10. 10—

常用示例

使用步驟

  1. 輸入或貼上表示式,例如 0 9 * * 1-5。
  2. 檢視中文說明以及每個欄位的取值。
  3. 選擇伺服器所在時區,檢視接下來 10 次實際的執行時間。
  4. 點選右側的常用示例,快速得到常見的定時規則。

引數說明

欄位
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 時區計算。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具