如果 anacron 不是守护进程,它如何工作?

如果 anacron 不是守护进程,它如何工作?

我正在阅读 cron 和 anacron 之间的差异,我意识到 anacron 与 cron 不同,它不是守护进程。所以我想知道如果它不是守护进程,它实际上是如何工作的。

答案1

它使用多种方法来运行:

  • 如果系统正在运行 systemd,它会使用 systemd 计时器(在 Debian 软件包中,您将在 中看到它/lib/systemd/system/anacron.timer);
  • 如果系统没有运行 systemd,它会使用系统 cron 作业(在 中/etc/cron.d/anacron);
  • 在所有情况下,它都会每天、每周和每月运行 cron 作业(在/etc/cron.{daily,weekly,monthly}/0anacron);
  • 它也在引导时运行(从/etc/init.d/anacron或其 systemd 单元)。

答案2

anacron不是守护进程,因此需要通过其他方式定期运行。大多数情况下,这意味着每天使用 cron 作业执行一次,也可能在启动时执行。

例如,在 root 的 crontab 中,这可能类似于以下内容:

@reboot /usr/local/sbin/anacron -ds
@daily  /usr/local/sbin/anacron -ds

anacron显然,使用 systemd 的 Linux 系统可能会以不同的方式执行此操作,但仍然需要每 24 小时至少运行一次。

每 24 小时运行anacron一次以上是没有意义的,因为可以安排作业的最短周期anacron是每天一次。

相关内容