以下引用鸟哥的话:
anacron 是透过该记录与目前的时间差异,了解到是否应该要进行某项任务的工作! 举例来说,如果我的主机在 2009/03/15(星期天)
18:00 关机,然后在 2009/03/16(星期一) 8:00 启动,由於我的 crontab 是在早上 04:00
左右进行各项任务,由於该时刻系统是关机的,因此时间戳记依旧为 20090315 (旧的时间), 但是目前时间已经是 20090316
(新的时间),因此 run-parts /etc/cron.daily 就会在启动过 65 分钟后开始运行了。
疑问点是:时间戳只精确到3月15日和3月16日,那linux怎么知道3月16日开机时间一定是在4:00之后?换句话说,如果在3月16日3:00就开机,那么anacron还会执行4:00的crontab任务吗?
anacron 本来就只精确到天的,所以记录上次是哪天运行的就可以了。
这种事情 anacron 做不到。你只能说,这个任务每天运行一次,或者每星期运行一次,或者每月运行一次。
PS: 如果是 dcron 的放,它会把所有错过的任务都跑一次的。