開發者工具

Cron 表達式解說

貼上一行 cron,找出它實際何時執行。

Cron 表達式解說 在您的裝置上執行
  • 在您的瀏覽器中執行 — 您的文字絕不會傳送到任何地方
  • 免註冊、無額度限制,可隨您高興使用多少次

運作方式

Cron 語法是五個簡短的欄位,寫起來容易,讀回去卻困難得多,尤其是別人寫的。大多數錯誤不是打字錯誤,而是搞不清哪個欄位是哪個,或兩個欄位同時設定時會發生什麼事。

五個欄位

依序為分鐘、小時、每月的日、月份、每週的星期。某些排程器會使用前置的第六個欄位表示秒,若有,這裡會忽略它。範圍、清單與步進值都能理解。

「每月的日」與「每週的星期」同時設定

這幾乎讓每個人都中招。如果兩個欄位都設為「*」以外的值,cron 會在任一個符合時執行,而不是兩者都符合。「0 0 1 * 1」會在每月 1 日以及每個星期一執行,而不是只在落在 1 日的星期一執行。適用時,解說會明確指出這一點。

0 與 7 都代表星期日

星期欄位接受 0 到 7,兩端都代表星期日。在系統之間複製排程時,這常是差一錯誤與混淆的來源。

邊解說邊驗證

超出範圍的值、格式錯誤的範圍與零步進,都會連同其所屬欄位一併回報,而不是產生一個自信卻錯誤的描述。

常見問題

Cron 表達式解說:常見問題

這五個欄位是什麼意思?

依序為分鐘、小時、每月的日、月份,以及每週的星期。

為什麼我的排程執行的次數比預期更多?

可能是因為「每月的日」與「每週的星期」兩者都有設定。Cron 將它們視為「或」,只要其中一個符合就會執行。

星期日是 0 還是 7?

兩者皆可。星期欄位接受 0 到 7,且兩端都視為星期日。

支援秒欄位嗎?

若有前置的秒欄位,會被忽略;五個標準欄位會被解說。