Cron表達式解析器

輸入Cron表達式以查看其易讀描述、欄位分解和接下來的10次執行時間。所有處理均在您的瀏覽器中完成。

人類可讀描述

欄位分類

欄位含義

下 10 次執行時間

    關於 Cron 運算式

    Cron 運算式定義 Unix 類系統上重複任務的排程。標準運算式有 5 個欄位:

    欄位範圍特殊字元
    分鐘0-59* , - /
    小時0-23* , - /
    月份中的日1-31* , - / ?
    月份1-12, JAN-DEC* , - /
    星期幾0-7(0 和 7 = 週日), SUN-SAT* , - / ?

    下次執行是按你選的時區算的,不是按你所在的時區,因為 crontab 是在伺服器所在的地方觸發,而那通常是 UTC。凡是能寫數字的地方都能寫三字母名稱,所以 MON-FRI 和 JAN 照寫就能用。超出欄位範圍的值、為零的步長、以及倒著走的區間都會被拒絕,而不是悄悄產出一個永遠不會觸發的排程。當兩個日期欄位都被限定時,頁面會提示,因為 cron 把這一對當作「或」而不是「且」,很多人會在這裡栽跟頭。

    又在手工整理資料?

    每次都要在瀏覽器分頁裡修一遍的資料,本該交給程式碼。我們建構在系統之間搬運資料的整合、解析器和服務,也修好那些在半路上悄悄把資料弄壞的東西。

    告訴我們你在搬什麼

    常見問題

    為什麼我的工作跑得比預期還勤?
    通常是因為兩個日期欄位都填了。當日期和星期都不是星號時,cron 是在其中任一個匹配時執行,而不是兩個都匹配時。所以 0 0 1 * 1 會在每月一號觸發,也會在每個週一觸發。你的表達式一旦是這個形狀,本頁面就會提醒你。
    下次執行用的是哪個時區?
    你選的那個,預設是 UTC 而不是你所在的時區,因為 crontab 是在伺服器所在的地方觸發的。如果你的主機跑在某個地區時區,就選它;另外記得日光節約時間可能讓每日工作跳過或重複一個小時。
    能寫 MON-FRI 代替 1-5 嗎?
    能。凡是能寫數字的地方都能寫三字母名稱,月份和星期都適用,所以 JAN、DEC、MON、SUN 都能解析。週日寫 0 或 7 都行,兩者都接受,這也是為什麼 6-7 這樣的區間能涵蓋整個週末。
    星號加斜線是什麼意思?
    表示步長。分鐘欄位裡的 */15 表示從 0 開始每隔十五分鐘,也就是 0、15、30、45。從別的地方起步也行:5/15 表示從第 5 分鐘起,每十五分鐘一次。步長為 0 是無效的,本頁面會告訴你,而不是卡死。
    支援多出來的秒欄位嗎?
    能解析,Quartz 和好幾個工作排程器用的就是這種形式,所以六欄位的表達式也能被正確描述。下次執行的清單按分鐘粒度運作,因為原生 cron 就到這個粒度,而秒欄位只是在每個匹配到的分鐘內部再收窄一層。