「Cron」
「Cron」是一个用于创建周期任务的工具包。其中,包含一个执行调度任务的守护进程的cron命令是,用于周期执行脚本;包含的crontab命令用于管理周期任务。
如果你有什么任务需要周期性的在后台执行,那就可以使用Cron来执行该任务。通过向Cron的配置文件中添加一个条目,条目中指明需要周期执行的命令或脚本即可。
「Anacron」
与「Cron」一样,「Anacron」也是周期性的执行命令。
有所不同的是「Anacron」不会假定”系统是不间断运行的“。就是说,如果关机了,在Cron中,错过的任务不会再执行,而在Anacron中,开机后,错过的任务也会保证被执行。
二者之间的关系
但是这二者并不是互相替代的,他们是互相协作的。
「anacron」本身不作为服务/守护进程运行,而是作为「cron」的作业,/etc/cron.d/anacron,存在的。 因此,「cron」会为每日、每周、每月任务检查是否存在「anacron」,而不是每小时任务。「Cron」运行每小时的任务。
关于「Anacron」一些误区
「anacron」本身不作为服务/守护进程运行,而是作为「cron」的作业,/etc/cron.d/anacron,存在的。
「anacron」不会用于”在确切时间运行作业“。它最好用于,例如,确保维护脚本以近似频率运行,如每日、每周、每月。它没有低于一天的时间分辨率。
参考文献
Who runs scripts inside /etc/cron.hourly if anacron is enabled?
Is it possible to set one job to run at precise hour with anacron