crontab 管理定时任务¶
概要: 在RockyLinux 8上,学习使用crontab
创建时间: 2023.01.09 22:14:14
更新时间: 2023.07.28 23:11:13
语法¶
使用格式¶
参数选项¶
参数 | 解释 |
---|---|
-u |
user, 指定用户(默认操作的时当前用户crontab文件) |
-e |
edit, 编辑用户crontab文件 |
-l |
list, 列出用户crontab文件 |
-r |
remove, 删除用户crontab文件 |
-i |
interactive, 删除前提示确认 |
-V |
version, 显示版本信息 |
时间语法¶
Bash | |
---|---|
command
是需要定时执行的命令时间字段范围
时间字段 | 数值范围 |
---|---|
minute |
[0, 59] |
hour |
[0, 23] |
day |
[1, 31] 每月的第x天 |
month |
[1, 12] |
week |
[0, 6] 每周的第x天,其中0代表星期日 |
时间特殊字符
特殊字符 | 意义 |
---|---|
星号 * |
所有值(示例,当hour 位为* 时,代表每个小时执行) |
逗号 , |
列表值(示例,当hour 位为3,8,12 时,代表在三点、八点、十二点执行) |
减号 - |
范围值(示例,当hour 位为6-12 时,代表在六点到十二点之间每小时执行) |
正斜杠/ |
频率值(示例,当hour 位为1-12/2 时,代表在一点到十二点之间,每两小时执行一次;当hour 位为*/2 时,代表每两小时执行一次) |
示例¶
提示
crontab的时间语法正确与否,推荐在Crontab.guru - The cron schedule expression editor上进行在线验证
脚本示例¶
(1)每3小时重启一次sshd服务
Bash | |
---|---|
Bash | |
---|---|
Bash | |
---|---|
Bash | |
---|---|
crontab -e
添加上面4个定时任务后,使用 crontab -l
查看如下
交互式删除所有已添加的crontab
Bash | |
---|---|

配置文件示例¶
默认的配置文件如下,cat /etc/crontab

配置文件分为下面两部分
环境变量部分
SHELL
描述任务的执行shell路径PATH
描述用户搜索可执行文件的路径MAILTO
描述crond任务执行信息发送给的用户,配置为空表示不发送邮件HOME
描述执行任务命令时的主目录
任务配置部分参考上一小节的脚本示例
注意事项¶
及时刷新系统环境¶
为保证crontab配置中的PATH与系统保持一致,建议在命令前刷新bash环境配置
Bash | |
---|---|
输出重定向¶
使用下面的方式忽略命令的输出
Bash | |
---|---|