Chinaunix

标题: 请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢? [打印本页]

作者: number321    时间: 2014-07-16 18:06
标题: 请问centos系统/etc/cron.daily/下的脚本,是在哪里设置的定时执行呢?
我看网上一些帖子说的是 /etc/crontab 下通过 run-parts 来执行的。

但我看CentOS6.4,CentOS6.5下的/etc/crontab文件,里面什么定时任务都没有。难道说默认cron.daily,cron.monthly里面的都是不执行的?
作者: Shell_HAT    时间: 2014-07-16 18:53
crontab -l
有内容不?
作者: phanx    时间: 2014-07-16 19:24
回复 1# number321


    在 /etc/anacrontab 中配置,通过anacron在调用

  1. [root@testhost etc]# more /etc/anacrontab
  2. # /etc/anacrontab: configuration file for anacron

  3. # See anacron(8) and anacrontab(5) for details.

  4. SHELL=/bin/sh
  5. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  6. MAILTO=root
  7. # the maximal random delay added to the base delay of the jobs
  8. RANDOM_DELAY=45
  9. # the jobs will be started during the following hours only
  10. START_HOURS_RANGE=3-22

  11. #period in days   delay in minutes   job-identifier   command
  12. 1       5       cron.daily              nice run-parts /etc/cron.daily
  13. 7       25      cron.weekly             nice run-parts /etc/cron.weekly
  14. @monthly 45     cron.monthly            nice run-parts /etc/cron.monthly
复制代码

作者: number321    时间: 2014-07-17 11:24
原来是在这里,谢谢!
作者: ylky_2000    时间: 2015-05-27 08:34
谢谢,也是纠结这个问题。终于找到了。谢谢。
作者: trikker    时间: 2015-10-09 13:46
挖个坟,那请问/etc/anacrontab这里面定义的执行内容是如何被调起来的呢?/var/spool/anacron里面的各个文件是如何更新的呢?
作者: trikker    时间: 2015-10-09 14:05
我知道了,在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调起来的。

各位看下是不是这样呢?
作者: jy02150795    时间: 2015-10-09 23:26
本帖最后由 jy02150795 于 2015-10-09 23:26 编辑

在我的centos版本里只有一个0anacron存在于 /etc/cron.hourly目录下,我猜测是:
每小时运行的0anacron只负责进行时间戳的比对,如果当前日期和上次运行anacron的日期不符,说明系统停机过了,就会启动anacron这支程序,再由anacron根据/etc/anacrontab配置进一步判断,然后去运行cron.daily、cron.weekly与cron.monthly里面未完成的任务。

那么问题来了,对于hourly的任务,anacron就不管了吗




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2