最適合安排重復(fu)性(xing)任務。 可以使用(yong)(yong)關聯的(de) at 實用(yong)(yong)程序來(lai)完成一(yi)次性(xing)任務的(de)調度。
Min Hour Day Mon Weekday
分(fen)鐘 小時(shi) 天(tian) 月 周(zhou)
* * * * * <要執行的命令>
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 星期幾 (0=周日 .. 6=星期六)
│ │ │ └────── 月 (1..12)
│ │ └─────────── 月份中的某天 (1..31)
│ └──────────────── 小時 (0..23)
└───────────────────── 分鐘 (0..59)
字段 | 范圍 | 特殊字符 |
---|---|---|
分鐘 Minute | 0 - 59 | , - * / |
小時 Hour | 0 - 23 | , - * / |
月份中的某天 | 1 - 31 | , - * ? / L W |
月 Month | 1 - 12 | , - * / |
星期幾 | 0 - 6 | , - * ? / L # |
年 Year | 1970–2099 | , - |
Example | Description |
---|---|
*/15 * * * * | 每 15 分鐘 |
0 * * * * | 每隔一小時 |
0 */2 * * * | 每 2 小時 |
15 2 * * * | 每天凌晨 2 點 15 分 |
15 2 * * ? | 每天凌晨 2 點 15 分 |
10 9 * * 5 | 每周五上午 9:10 |
0 0 * * 0 | 每個星期日的午夜 |
15 2 * * 1L | 每月最后一個星期一凌晨 2 點 15 分 |
15 0 * * 4#2 | 每個月的第二個星期四早上 00:15 |
0 0 0 1 * * | 每個月的 1 日(每月) |
0 0 0 1 1 * | 每年 1 月 1 日(每年) |
@reboot | 每次重啟 (非標準) |
特殊字符串 | 意義 |
---|---|
@reboot | 運行一次,在系統啟動時 (非標準) |
@yearly | 每年運行一次,“0 0 1 1 *” (非標準) |
@annually | (與@yearly 相同)(非標準) |
@monthly | 每月運行一次,“0 0 1 * *” (非標準) |
@weekly | 每周運行一次,“0 0 * * 0” (非標準) |
@daily | 每天運行一次,“0 0 * * *” (非標準) |
@midnight | (與@daily 相同)(非標準) |
@hourly | 每小時運行一次,“0 * * * *” (非標準) |
- | - |
---|---|
crontab -e | 如果不存在,則編輯或創建一個 crontab 文件 |
crontab -l | 顯示 crontab 文件 |
crontab -r | 刪除 crontab 文件 |
crontab -v | 顯示您上次編輯 crontab 文件的時間 (非標準) |
輕松添加任務
echo "@reboot echo hi" \| crontab
特殊字符 | 說明 |
---|---|
星號(*) | 匹配字段中的所有值或任何可能的值。 |
橫桿(-) | 用于定義范圍。例如:第 5 個字段(星期幾)中的 1-5 每個工作日,即星期一到星期五 |
斜線 (/) | 第一個字段(分鐘)/15 表示每十五分鐘或范圍的增量。 |
逗號(,) | 用于分隔項目。例如:第二個字段(小時)中的 2、6、8 在凌晨 2 點、早上 6 點和早上 8 點執行 |
L | 僅允許用于 月份中的某天 或 星期幾 字段,星期幾 中的 2L 表示每個月的最后一個星期二 |
井號 (#) | 僅允許用于 星期幾 字段,后面必須在 1 到 5 的范圍內。例如,4#1 表示給定月份的“第一個星期四”。 |
問號(?) | 可以代替“*”并允許用于月份和星期幾。使用僅限于 cron 表達式中的 月份中的某天 或 星期幾 。 |