Cron任务概述:
- 用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务;
- 我们经常使用的是crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
- /var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
- /etc/crontab 这个文件负责调度各种管理和维护任务。
- /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
- 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。
Crontab常用命令:
- 编辑:crontab -e [-u 用户名]
- 查看:crontab -l [-u 用户名]
- 清除:crontab -r [-u 用户名]
如何编写crontab任务:
- 配置格式可参考/etc/crontab文件
- 分 时 日 月 周 任务命令(绝对路径)
执行周期 | 配置说明 |
---|
分钟 | 从0到59之间的整数 |
小时 | 从0到23之间的整数 |
日期 | 从1到31之间的整数 |
月份 | 从1到12之间的整数 |
星期 | 0~7之间的整数,0或7代表星期日 |
符号 | 含义 |
---|
* | 匹配范围内任意时间 |
, | 分割多个不连续的时间点 |
- | 制定连续的时间范围 |
/n | 指定时间频率,每n… |
案例:
- 本例要求为用户 yyy 配置一个定时任务,具体要求如下:
- 每天在本地时间 14:23 执行
- 需要完成的任务操作为 /bin/tar -zPcf /root/boot.tar.gz /boot
systemctl restart crond.service
systemctl enable crond.service
id yyy
crontab -e -u yyy
23 14 * * * /bin/tar -zPcf /root/boot.tar.gz /boot
crontab -l -u yyy
23 14 * * * /bin/tar -zPcf /root/boot.tar.gz /boot
3,15 * * * * /bin/tar -zPcf /root/boot.tar.gz /boot
3,15 8-11 * * * /bin/tar -zPcf /root/boot.tar.gz /boot
3,15 8-11 */2 * * /bin/tar -zPcf /root/boot.tar.gz /boot
3,15 8-11 * * 1 /bin/tar -zPcf /root/boot.tar.gz /boot