本篇重點
- cron 表達式(排程時間)生成工具
 - cron 表達式轉換工具
 - 介紹 cron 和 cron 表達式
 - cron 表達式符號語法使用方式
 - 查詢所有/指定排程(crontab)的方法
 - 新增/修改/刪除排程(crontab)的方法
 
cron 表達式(排程時間)生成工具
- 從每個時間分類頁籤挑選要設定時間
 - 依分類規則輸入
 - 顯示 5 欄位格式的 cron 表達式,分別是分鐘(minute)、小時(hour)、日期(DOM - dayOfMonth)、月份(month)、星期(DOW - dayOfWeek),例如:
5 0 * * 1 
- 設定「從哪個時間點開始」每隔多少單位執行一次,產生 
起始值/間隔的 cron 語法 *表示每個可能的時間點,如果設定*並輸入執行間隔,*表示從最小值開始
設定一個區間,表示排程任務會在這段時間內「每個單位都執行一次」,產生 最小值-最大值 的 cron 語法
設定執行任務的「具體時間點」,可使用「逗號 ,」同時選擇多個時間,產生 時間點,時間點,時間點 的 cron 語法
- 設定「從哪個時間點開始」每隔多少單位執行一次,產生 
起始值/間隔的 cron 語法 *表示每個可能的時間點,如果設定*並輸入執行間隔,*表示從最小值開始
設定一個區間,表示排程任務會在這段時間內「每個單位都執行一次」,產生 最小值-最大值 的 cron 語法
設定執行任務的「具體時間點」,可使用「逗號 ,」同時選擇多個時間,產生 時間點,時間點,時間點 的 cron 語法
- 設定「從哪個時間點開始」每隔多少單位執行一次,產生 
起始值/間隔的 cron 語法 *表示每個可能的時間點,如果設定*並輸入執行間隔,*表示從最小值開始
設定一個區間,表示排程任務會在這段時間內「每個單位都執行一次」,產生 最小值-最大值 的 cron 語法
設定執行任務的「具體時間點」,可使用「逗號 ,」同時選擇多個時間,產生 時間點,時間點,時間點 的 cron 語法
- 設定「從哪個時間點開始」每隔多少單位執行一次,產生 
起始值/間隔的 cron 語法 *表示每個可能的時間點,如果設定*並輸入執行間隔,*表示從最小值開始
設定一個區間,表示排程任務會在這段時間內「每個單位都執行一次」,產生 最小值-最大值 的 cron 語法
設定執行任務的「具體時間點」,可使用「逗號 ,」同時選擇多個時間,產生 時間點,時間點,時間點 的 cron 語法
cron 表達式
* * * * *
說明
下次執行時間
cron 表達式工具使用範例
這邊示範如何使用 cron 表達式生成工具~
每天十二點半執行排程
切換到分鐘頁籤的固定間隔,某時刻輸入
30
切換到小時頁籤的固定間隔,某時刻輸入
12
每個星期六,每小時每15分鐘執行排程
切換到分鐘頁籤的固定間隔,某時刻輸入
*,執行間隔輸入15
切換到星期頁籤的固定間隔,輸入
6
一到三月的一號和十五號,00:00 執行排程
切換到分鐘頁籤的固定間隔,某時刻輸入
0
切換到小時頁籤的固定間隔,某時刻輸入
0
切換到日期頁籤的指定時刻,某時刻輸入
1,15
切換到月份頁籤的區間範圍,最小值輸入
1,最大值輸入3
什麼是 cron?
cron 是 Linux/Unix 系統中的一種排程工具,用來自動執行指定時間的任務,例如定時備份資料、寄送報表、執行維護腳本等。而 cron 的排程是透過 cron 表達式來定義執行的時間與頻率
cron 表達式的基本格式
1  | * * * * * <command>  | 
星號(*)
表示每個可能的時間點。
例如 * * * * * 表示每分鐘都執行。
逗號(,)
表示多個時間點。
例如:0 9,18 * * * 表示每天 9 點與 18 點各執行一次。
減號(-)
表示時間的範圍。
例如:0 8-10 * * * 表示每天 8 點、9 點、10 點執行一次。
斜線(/)
表示每個時間點間隔多少單位。
例如:0 */3 * * * 表示每 3 小時整點執行一次。
範例
| cron 表達式 | 說明 | 
|---|---|
0 10 * * * | 每天早上 10:00 執行一次 | 
*/15 * * * * | 每 15 分鐘執行一次 | 
0 */2 * 1,10 * | 一月和十月每兩小時整點執行一次 | 
0 12 * * 1-5 | 每週一到五中午 12:00 執行 (平日) | 
0 0 1 * * | 每月 1 號的午夜 00:00 執行 | 
0 22 * * 0,6 | 每週六、日晚上 10:00 執行 (假日) | 
查詢 crontab 排程
查詢所有排程
1  | crontab -l  | 
查詢指定排程
1  | crontab -l | grep deploy  | 
新增/修改/刪除 crontab 排程
使用指令後會打開編輯器,直接在編輯器裡面新增/修改/刪除排程
1  | crontab -e  | 



