Crontab 格式
Min Hour Day Mon Weekday
分钟 小时 天 月 周
* * * * * <要执行的命令>
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 星期几 (0=周日 .. 6=星期六)
│ │ │ └────── 月 (1..12)
│ │ └─────────── 月份中的某天 (1..31)
│ └──────────────── 小时 (0..23)
└───────────────────── 分钟 (0..59)
*/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
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 * * * *” (非标准)
星号(*) 匹配字段中的所有值或任何可能的值。
横杆(-) 用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五
斜线 (/) 第一个字段(分钟)/15 表示每十五分钟或范围的增量。
逗号(,) 用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行
L 仅允许用于 月份中的某天 或 星期几 字段,星期几 中的 2L 表示每个月的最后一个星期二
井号 (
问号(?) 可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 月份中的某天 或 星期几。
| 字段 | 范围 | 特殊字符 |
|---|
| 分钟 Minute | 0 | - 59 , - * / |
| 小时 Hour | 0 - 23 | , - * / |
| 月份中的某天 | 1 | - 31 , - * ? / L W |
| 月 Month | 1 - 12 | , - * / |
| 星期几 | 0 - 6 | , - * ? / L # |
| 年 Year | 1970–2099 | , - |
Crontab 命令
- crontab -e 如果不存在,则编辑或创建一个 crontab 文件
- crontab -l 显示 crontab 文件
- crontab -r 删除 crontab 文件
- crontab -v 显示您上次编辑 crontab 文件的时间 (非标准)
echo "@reboot echo hi" \| crontab