1. 域
分钟 | 小时 | 天 | 月 | 周 | 程序 |
---|
minute (0 - 59) | hour (0 - 23) | day of month (1 - 31) | month (1 - 12) OR jan,feb,mar,apr … | day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | user-name command to be executed |
- 1-5域中除了可以写入数字,还可以写入特殊符号,包含:
* / - ,
等,分别代表含义如下 *
代表所有的取值范围内的数字/
代表每的意思-
代表从某个数字到某个数字,,
分开几个离散的数字。
2. 命令
-
crontab -l
在标准输出上显示当前的crontab。
-
crontab -r
删除当前的crontab文件。
-
crontab -e
编辑当前的crontab文件,编辑后将自动安装
3. 服务
Linux 版本 | 6.X | 7.X |
---|
启动服务 | service crond start | systemctl start crond |
关闭服务 | service crond stop | systemctl stop crond |
重启服务 | service crond restart | systemctl restart crond |
重新载入配置 | service crond reload | systemctl reload crond |
查看服务状态 | service crond status | systemctl status crond |
4. 注意事项
- 切记在crontab中写入
命令
的**绝对路径
**,例如rm -f test.txt
就无法执行,写为/bin/rm -f /home/ec2-user/test.txt
即可。
5. 例子
0 6 * * * echo "Good morning" >> /tmp/test.txt
0 */2 * * * echo "Good morning" >> /tmp/test.txt
0 23-7/2,8 * * * echo "Good morning" >> /tmp/test.txt
0 11 4 * 1-3 echo "Good morning" >> /tmp/test.txt
5,15,25,35,45,55 16,17,18 * * * echo "Good morning" >> /tmp/test.txt
0 4 1 1 * echo "Good morning" >> /tmp/test.txt SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
02 4 * * 0 root run-parts /etc/cron.weekly
02 4 1 * * root run-parts /etc/cron.monthly
00 15 * * 1,3,5 shutdown -r +5
20 3 * * * (/bin/rm -f /tmp/test.txt;/bin/rm -rf /home/ec2-user/1.txt)
12,55 3 4-9 1,4 * /bin/rm -f mm.txt