码迷,mamicode.com
首页 > 系统相关 > 详细

辛星浅析Linux中的anacron

时间:2015-04-06 07:42:22      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:linux   辛星   anacron   计划任务   

     如果我们的Linux主机是24全天全年的处于开机状态,我们只需要atd与crond这两个服务即可,如果我们的服务器并非24小时无间断的启动,那么我们就需要anacron的帮助了。

     anacron并不能取代cron去运行某项任务,而是以天为单位或者是在启动后立刻进行anacron的动作,它会去侦测停机期间应该进行但是并没有进行的crontab任务,并将该任务运行一遍后,anacron就会自动停止了。

     anacron会以一天、七天、一个月周期去侦测系统中未进行的crontab任务,因此对于某些特殊的使用环境非常有帮助。anacron会去会去分析现在的时间与时间记录档所记载的上次运行anacron的时间,两者比较厚若发现有差异,也就是在某些时刻没有进行crontab,那么此时anacron就会开始执行未运行的crontab了。所以anacron也是听过crontab来运行的,因此anacron运行的时间通常由两个,一个是系统启动期间运行,一个是写入crontab的排程中,这样才能够在特定时间分析系统未进行的crontab工作。我们可以使用ll   /etc/cron*/*ana*的方式来查看anacron的侦测时间。但是我们仔细分析该文件的话,发现它主要是执行anacron命令。

      anacron命令的语法如下:

     (1)-s开始连续的运行各项工作,会一句时间记录当的数据判断是否进行。

     (2)-f强制进行,而不去判断时间登录档的时间戳。

     (3)-n立即进行未进行的任务,而不延迟等待时间。

     (4)-u仅升级时间记录当的时间戳,不进行任何工作。

     而anacron的配置文件是/etc/anacrontab,而它的很多内容则是在/var/spool/anacron里面保存。

     当anacron下达anacron  -s  cron.daily时,它会有如下的步骤:

     (1)由/etc/anacrontab分析到cron.daily这项工作名称的天数为一天。

     (2)由/var/spool/anacron/cron.daily取出最近一次运行anacron的时间戳。

     (3)把取出的时间戳与当前的时间戳相比较,如果差异超过了一天,那么就准备进行命令。

     (4)若准备进行命令,根据/etc/anacrontab的配置,将延迟65分钟。

     (5)延迟时间后,开始运行后续命令,也就是run-parts   /etc/cron.daily这串命令。

     (6)运行完毕后,anacron程序结束。

     

辛星浅析Linux中的anacron

标签:linux   辛星   anacron   计划任务   

原文地址:http://blog.csdn.net/xinguimeng/article/details/44898251

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!