先選 Linux、Spring 或 Quartz,依你要的時間產生表達式,再複製表達式或整行。 解釋已有的表達式
這一頁產生 Linux crontab:五段,或 @daily 這種簡寫。你選多久跑一次,可以帶上命令,再複製整行。不會把工作裝進系統。格式也能寫出 Spring 和 Quartz:前面加秒 0,Quartz 還會寫 ?,星期用 MON-FRI 這種名字。要解釋已有的表達式,用解釋已有的表達式。時間戳用 Unix 時間戳。
0 2 * * *,說明是每天 02:00。/usr/bin/backup.sh 會接在表達式後面,成為 Crontab 行。輸入時立即更新預設開著。關掉之後,用產生跑一次。/usr/bin/backup.sh,表達式是 0 2 * * 1-5,整行是 0 2 * * 1-5 /usr/bin/backup.sh。 表單下面的範例按鈕還有:每 15 分鐘 */15 * * * *,每天 02:00 帶同一條命令 0 2 * * * /usr/bin/backup.sh,平日 09:00 0 9 * * 1-5,週末 09:00 0 9 * * 0,6,週一、週三、週五 09:00 0 9 * * 1,3,5,每月 1 日零點 0 0 1 * *,每年 1 月 1 日 0 0 1 1 *,每 2 小時的第 30 分 30 */2 * * *,@daily,@weekly(週日 00:00),以及 @reboot。旁邊的連結打開解析頁。 全部清除改成每分鐘並清空命令,表達式是 * * * * *。表達式是分、時、日、月、星期。週日是 0,週一是 1,週六是 6。連續的星期寫成連字號,週一到週五是 1-5。分開的日期用逗號,例如 1,3,5。七天都選則寫成 *。格式選 Linux 時寫出這五段。格式選 Spring 時在前面加 0 作為秒,星期數字不變。格式選 Quartz 時也在前面加 0,並在日或星期上寫 ?,把星期數字改成 SUN–SAT,因為 Quartz 把週日編成 1。
每 N 分鐘是 */N * * * *。每 N 小時是 0、N、2N 這些小時上的第 M 分:M */N * * *。31 日只在有 31 天的月份執行,二月會跳過。命令不會被檢查,只能一行。頁面不會把工作裝進系統。
@reboot 在開機時執行,沒有鐘點,所以沒有接下來 10 次執行。@hourly 是 0 * * * *。@daily 是 0 0 * * *。@weekly 是週日 00:00,即 0 0 * * 0,不是週一。@monthly 是 0 0 1 * *。@yearly 是 0 0 1 1 *。說明裡會寫等同於這五段。接下來 10 次執行用的是這台電腦的本地時間。真正跑 crontab 的機器可能在另一個時區。
0 2 * * * /usr/bin/backup.sh。0 9 * * 1-5。@daily。Vixie cron 把 @weekly 定成週日 00:00。若要週一,選依星期並點亮週一。時間仍是 00:00 時,表達式是 0 0 * * 1。
能。把格式改成 Quartz。每天 02:00 會變成 0 0 2 * * ?。週一到週五會寫成 MON-FRI。解釋已有的表達式仍用來讀你貼進去的表達式。
接下來 10 次執行用的是這台電腦的時鐘。伺服器上的 crontab 用的是伺服器時區。
二月沒有 31 日,會跳過。列表給出下一個有這一天的月份。