最近在做一个centos 6.8下定时调度shell脚本的功能,所以对此研究了一番,可谓坑不少。cron表达式算是比较经典和古老的东西了,凡是涉及到调度方面的东西都是离不开它,
centos下做这个直接输入crontab -e 然后根据规则简单输入几个命令就可以实现功能。但是有些东西只有自己试过才知道了。
网上资料参差不齐,https://www.cnblogs.com/zuizui1204/p/9844762.html这篇文章算是比较有权威的了,但是不知道转了多少手,也没有保留出处。但是其中也有错误的地方,几点关键的地方:
- 直接vi/vim /etc/crontab 文件在centos 6下是不会执行的,可能与路径权限有关,对此没有研究,此种做法不推荐,因为不会进行语法检查,坑不少
- crontab -e 会进行语法检查,对当前用户有效,但是要注意写法,例如:* */1 *** #错误的每隔一小时执行一次,事实上每分钟执行一次
- */105 ** ** #每105分钟执行一次 此种写法是错误的,要注意分钟是0-60之间的范围,超过60的数字都会按60处理,所以这种写法也只会每小时执行一次
- crontab -l查看定时任务情况
- ps -aux | grep cron 看看定时任务有没有多个,如果有多个会重复执行多次
网友评论