anacron 与 /etc/anacrontab

本文介绍了anacron如何处理每天的任务,如cron.daily。当执行`anacron -s cron.daily`时,anacron会检查/etc/anacrontab中设定的天数,对比上次运行时间戳,如果超过一天,则延迟65分钟执行run-parts /etc/cron.daily,完成任务后anacron结束。
[root@www ~]# ll /etc/cron*/*ana*
-rwxr-xr-x 1 root root 379 Mar 28  2007 /etc/cron.daily/0anacron
-rwxr-xr-x 1 root root 381 Mar 28  2007 /etc/cron.monthly/0anacron
-rwxr-xr-x 1 root root 380 Mar 28  2007 /etc/cron.weekly/0anacron
# 刚好是每天、每周、每月有排程的工作目录!查阅一下每天的任务

[root@www ~]# cat /etc/cron.daily/0anacron
if [ ! -e /var/run/anacron.pid ]; then
    anacron -u cron.daily
fi
# 所以其实也仅是运行 anacron -u 的命令!因此我们得来谈谈这支程序!
[root@www ~]# anacron [-sfn] [job]..
[root@www ~]# anacron -u [job]..
选项与参数:
-s  :开始一连续的运行各项工作 (job),会依据时间记录档的数据判断是否进行;
-f  :强制进行,而不去判断时间记录档的时间戳记;
-n  :立刻进行未进行的任务,而不延迟 (delay) 等待时间;
-u  :仅升级时间记录档的时间戳记,不进行任何工作。
job :由 /etc/anacrontab 定义的各项工作名称。

由於 /etc/cron.daily 内的任务比较多,因此我们使用每天进行的任务来解释一下 anacron 的运行情况好了。 anacron 若下达『 anacron -s cron.daily 』时,他会这样运行的:

  1. 由 /etc/anacrontab 分析到 cron.daily 这项工作名称的天数为 1 天;
  2. 由 /var/spool/anacron/cron.daily 取出最近一次运行 anacron 的时间戳记;
  3. 由上个步骤与目前的时间比较,若差异天数为 1 天以上 (含 1 天),就准备进行命令;
  4. 若准备进行命令,根据 /etc/anacrontab 的配置,将延迟 65 分钟
  5. 延迟时间过后,开始运行后续命令,亦即『 run-parts /etc/cron.daily 』这串命令;
  6. 运行完毕后, anacron 程序结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值