请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢?

在CeontOS6 里面,crond每分钟去/etc/cron.d里面搜索配置文件,里面有一个0hourly文件,里面写了01 * * * * root run-parts /etc/cron.hourly。是每隔1小时去运行一次/etc/cron.hourly目录,该目录下面有一个0anacron文件,这样0anacron文件就能每小时运行一次。0anacron按照/etc/anacrontab文件里面的配置,将当前时间与/var/spool/anacron目录下面的文件里面的时间戳作对比,如果需要则去运行/etc/anacrontab对应的条目。这也是为什么/etc/anacrontab文件里面只定义了cron.daily、cron.weekly与cron.monthly,而没有定义cron.hourly,因为cron.daily、cron.weekly与cron.monthly其实是由cron.hourly调起来的。
每小时运行的0anacron只负责进行时间戳的比对,如果当前日期和上次运行anacron的日期不符,说明系统停机过了,就会启动anacron这
支程序,再由anacron根据/etc/anacrontab配置进一步判断,然后去运行cron.daily、cron.weekly与cron.monthly里面未完成的任务。
那么anacrontab不管hourly任务了吗??

真时的执行流程是怎样的??有么有大神来解答啊??

详情可参考这篇文章:http://c.biancheng.net/view/1095.html

在原先 CentOS 版本的 /etc/cron.{daily,weekly,monthly} 目录中的定时任务会同时被 cron 和 anacron 调用,这样非常容易出现重复执行同一个定时任务的错误。因此,在 CentOS 6.x 中,/etc/cron.{daily,weekly,monthly} 目录中的定时任务只会被 anacron 调用,从而保证这些定时任务只会在每天、每周或每月定时执行一次,而不会重复执行。

/etc/cron.{daily,weekly,monthly} 目录中的脚本在当前的 Linux 中是被 anacron 调用的,不再依靠 cron 服务。不过,anacron 不用设置多余的配置,我们只需要把需要定时执行的脚本放入 /etc/cron.{daily,weekly,monthly} 目录中,就会每天、每周或每月执行,而且也不再需要启动 anacron 服务了。如果需要进行修改,则只需修改 /etc/anacrontab 配置文件即可。

猜你喜欢

转载自blog.csdn.net/ichen820/article/details/115068934