不知疲倦的Crontab

检查cron服务
检查Crontab工具是否安装:crontab -l
检查crond服务是否启动:service crond status

安装cron
-yum install vixie-cron
-yum install crontabs

一个简单的例子
每分钟都打印当前时间到一个日志文件中
crontab -e
*/1 * * * * date >> /tmp/log.txt


Crontab的基本组成
配置文件======================》系统服务CROND《=====================配置工具crontab
文件方式设置定时任务            每分钟都会从配置文件刷新定时任务          用于调整定时任务


Crontab的配置文件格式
* * * * * COMMAND
分钟0-59
小时0-23
日期1-31
月份1-12
星期0-7(0或者7代表星期天)
#每晚的21:30重启apache    
30 21 * * * service httpd restart
#每月的1、10、22日的4:45重启apache    
45 4 1,10,22 * * service httpd restart
#每月的1-10日的4:45重启apache    
45 4 1-10 * * service httpd restart
#每隔2分钟重启apache    
*/2 * * * * service httpd restart  偶数
#每隔2分钟重启apache    
1-59/2 * * * * service httpd restart  奇数
#晚上11点到早上7点之间每隔1小时重启apache    
0 23-7/1 * * * service httpd restart
#每天18:00至23:00之间每隔30分钟重启apache    
0,30 18-23 * * * service httpd restart
#每天18:00至23:00之间每隔30分钟重启apache    
​​​​​​​0-59/30 18-23 * * * service httpd restart
Crontab工具的使用
-u -l -e -r

Crontab配置文件
全局(系统)配置文件
-/etc/crontab
-注意格式
Root配置文件
-只有root用户才会把这些内容载入到计划任务表中
1.crontab 只能编辑用户级别的计划任务
2./etc/crontab和cron.d下的是系统级别的计划任务,cron.d是/etc/crontab的系统级别计划任务的补充
3.cron.d的sysstat的系统级别计划任务会覆盖用户计划任务(可以总结为系统计划任务会覆盖用户计划任务)
4.crontab –l 就是操作 /var/spool/cron/root这个文件

/var/log/cron文件保存着cron的任务执行记录

常见错误
1、环境变量
2、第三和第五个域之间执行的是或操作
四月的第一个星期日早晨1时59分运行a.sh
59 1 1-7 4 0 /root/a.sh   error
59 1 1-7 4 * test `date +\%w` -eq 0 && /root/a.sh   right
分钟设置有误
两个小时运行一次
* 0,2,4,6,8,10,12,14,16,18.20,22 * * * date error
0 */2 * * * date right

补充
Crontab中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令怎么做到
date && sleep 0.5s && date
*/1 * * * * echo "*****************"
*/1 * * * * sleep 30s;echo "*****************"



猜你喜欢

转载自blog.csdn.net/Dote2r/article/details/85065658