什麼是 Cron 表達式產生器?
cron 表達式用五個欄位(分、時、日、月、星期)描述「什麼時候要執行」。它很精簡,但也容易寫錯。這個工具幫你解讀任何 cron、用白話說明每個欄位,並算出接下來幾次的實際執行時間,還提供常用範本一鍵套用。全程在你的瀏覽器本機完成,不上傳。
如何使用
- 輸入一段 cron(五個欄位),或點選下方的常用範本。
- 看白話說明與各欄位拆解,確認排程正確。
- 對照「下次執行時間」預覽,沒問題就複製表達式。
使用情境
- 設定 Linux crontab、CI 排程、備份或報表任務。
- 看懂別人寫的 cron 到底何時會跑。
- 需要處理 Unix 時間戳時,搭配 時間戳轉換工具。
為什麼 cron 沒在我以為的時間跑?—— 時區
這裡的「下次執行時間」是用你瀏覽器的本機時區顯示,方便你對照;但真正的排程是照伺服器自己設定的時區跑,而很多雲端主機、容器預設是 UTC。所以你在台灣看到「每天 09:00」,若伺服器是 UTC,實際會在你的 17:00 觸發。設排程前務必先確認伺服器時區。另一個經典雷:當「日」和「星期」兩欄都有限定時,cron 是「任一符合就跑」,不是「兩個都要符合」——0 0 13 * 5 會在每月 13 號以及每個星期五都跑。處理 Unix 時間戳可搭時間戳轉換。
哪兩條運算式最容易搞混?
這一頁會把五個欄位用人話唸回來,而那正是抓錯位最快的方法。0 9 * * 1-5 讀成 分: 0 時: 9 日: 每個 月: 每個 星期: 一-五。真正的陷阱是下面兩條 —— 只差一個字元:0 0 1 * * 是 分: 0 時: 0 日: 1 月: 每個 星期: 每個,而 0 0 * * 1 是 分: 0 時: 0 日: 每個 月: 每個 星期: 一。第 3 欄是「日」、第 5 欄是「星期」;多數實作裡兩個同時設定是 OR 不是 AND,所以 0 0 1 * 1 會在每月 1 號**以及**每個星期一都跑。