在 Ubuntu 上,cron 和 anacron 之间的调用关系是什么?/etc/anacrontab
我对,/etc/cron.daily/0anacron
和 感到困惑/etc/crontab
。
来自https://askubuntu.com/a/848638/1471
cron.daily 每小时运行一次 anacron。
“cron.daily 每小时运行 anacron”是什么意思?
是“cron 每天通过 cron.daily 运行 anacron”吗?谢谢。
在 Ubuntu 上,cron 和 anacron 之间的调用关系是什么?/etc/anacrontab
我对,/etc/cron.daily/0anacron
和 感到困惑/etc/crontab
。
来自https://askubuntu.com/a/848638/1471
cron.daily 每小时运行一次 anacron。
“cron.daily 每小时运行 anacron”是什么意思?
是“cron 每天通过 cron.daily 运行 anacron”吗?谢谢。
您引用的文字错误。它说每天
cron.daily
运行anacron
(文本可能已经更新)。这也正是它的意思。anacron
不是(不管 AskUbuntu 的回答是什么)一个守护进程。这是一个小程序,需要由 cron 每天调用(或者更频繁,尽管它不会有任何区别)来运行/etc/anacrontab
.anacron
手册页描述了它应该做什么,以及在某种程度上它是如何做到的。您应该相信这一点以及系统上文件的内容,而不是您在 Internet 上不相关站点上找到的信息(当然包括这个答案)。anacron 的工作是确保定期运行每日、每周和每月的作业,即使系统没有在适当的时间运行。它不需要 cron 来运行,但它确实需要避免重复 cron 的工作。
/etc/anacrontab
告诉anacron
运行什么;/etc/cron.{daily,weekly,monthly}
默认情况下,这是在 下的文件中以适当的间隔定义的所有 cron 作业。当 anacron 运行时(在要求它实际运行它管理的作业的模式下),它会检查作业上次运行的时间,并且仅在与作业的预期周期一致的时间段已经过去时才运行它们./etc/cron.{daily,weekly,monthly}/0anacron
注意确保 anacron 知道 cron 的操作:每次 cron 处理它的每日、每周和每月作业时,它运行的第一个作业都会更新 anacron 的时间戳,重置计数器自上次执行相应的一组操作以来经过的时间工作。/etc/cron.d/anacron
并/lib/systemd/system/anacron.timer
确保在安装了 cron 或 systemd 的系统上,anacron 定期运行:每天使用 cron,每小时使用 systemd。anacron 也在系统启动时(通过其 init 脚本)和电源状态更改时(恢复时或连接交流电源时)运行。