ubuntu 配置定时任务
cron 是 linux 的一个服务,用于执行定时任务。通过 crontab 来配置具体的时间周期和执行的任务。
注意
crontab 的设置是针对当前用户的,任务的执行也是以当前用户的身份执行,如果对 root 设置,需要加 sudo
# 查看当前的定时任务
crontab -l
1
# 编辑定时任务
crontab -e
1
第一次设置可能需要选择一个默认编辑器 如 vim、nano 等,根据自己的习惯选择。
如果后续需要修改默认编辑器,可执行以下命令,重新选择编辑器。
select-editor
1
# 配置规则
通常配置文件最后会有这个注释,是一个配置的模版
...
# m h dom mon dow command
1
2
2
配置分为以下6个字段
- m (minute) - 指定某个分钟 (0-59)
- h (hour) - 指定某个时 (0-23)
- dom (day-of-month) - 指定自然月中的某日 (1-31)
- mon (month) - 指定某个月份 (1-12)
- dow (Day-of-week) - 指定周几,0和7都表示周日 (0-7)
- command - 执行的命令
# 示例
# m h dom mon dow command
* * * * * cmd # 每分钟执行
0 * * * * cmd # 每个0分执行,即每个整点,如 00:00, 01:00 ... 23:00
10 12 * * * cmd # 每个12:10执行,即每天的12:10
0 0 10 * * cmd # 每个月10号的00:00执行
0 0 * * 2 cmd # 每个周二的00:00执行
1
2
3
4
5
6
7
2
3
4
5
6
7
这里的星号(*)可用在所有字段中,表示这个字段的每个节点
# 高级用法
- 减号(-) - 表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12
- 逗号(,) - 表达一个列表值,如在星期字段中使用“1,3,5”,则表示星期一,星期三和星期五
- 斜杠(/) - x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y
# m h dom mon dow command
20,50 * 1 * * cmd # 每个月1号当天的每个20分和50分执行,即 00:20, 00:50 ... 23:20, 23:50
3,15 8-11 */2 * * cmd # 每隔两天的上午8点到11点的每个3分和15分钟执行
1
2
3
4
2
3
4
# 重启服务
编辑完毕保存之后,需要重启服务才能生效
sudo service cron restart
1
上次更新: 2022/08/10, 11:53:34