linux 中的定时任务

Cron 适合安排重复性任务,可以使用关联的 at 实用程序来完成一次性任务的调度。

Crontab 格式

1
2
3
4
5
6
7
*    *    *    *    *   <要执行的命令>
┬ ┬ ┬ ┬ ┬
│ │ │ │ └─ 星期几 (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 , -

特殊字符说明

特殊字符 说明
星号(*) 匹配字段中的所有值或任何可能的值。
横杆(-) 用于定义范围。例如:第 5 个字段(星期几)中的 1-5 每个工作日,即星期一到星期五
斜线 (/) 第一个字段(分钟)/15 表示每十五分钟或范围的增量。
逗号(,) 用于分隔项目。例如:第二个字段(小时)中的 2、6、8 在凌晨 2 点、早上 6 点和早上 8 点执行
L 仅允许用于 月份中的某天星期几 字段,星期几 中的 2L 表示每个月的最后一个星期二
井号 (#) 仅允许用于 星期几 字段,后面必须在 1 到 5 的范围内。例如,4#1 表示给定月份的“第一个星期四”。
问号(?) 可以代替“*”并允许用于月份和星期几。使用仅限于 cron 表达式中的 月份中的某天星期几

Crontab 命令

命令 含义
crontab -e 如果不存在,则编辑或创建一个 crontab 文件
crontab -l 显示 crontab 文件
crontab -r 删除 crontab 文件
crontab -v 显示您上次编辑 crontab 文件的时间 (非标准)