systemd 计时器 OnUnitActiveSec 与 OnCalendar 的 anacron 替换

systemd 计时器 OnUnitActiveSec 与 OnCalendar 的 anacron 替换

我需要每天运行一次 oneshot bash 脚本(日志轮换和清理)。我看到一些说明使用的例子:

OnCalendar=daily
Persistent=true

另一个例子使用:

OnBootSec=20min
OnUnitActiveSec=1d

对于类似 anacron 的行为来说,什么是更优化的?

答案1

对于类似 anacron 的行为,您需要使用前者,在其中指定特定时间并让它跟踪任务上次运行的时间(如果错过了运行则运行它)。后者表示在系统启动后 20 分钟运行该任务,然后每 24 小时运行一次。

但是,在我看来,您应该逐个任务地确定使用哪一个,该任务是否需要每天运行(在特定时间),或者是否需要相对于某些系统事件运行。

相关内容