用于 anacron 替换的 systemd 计时器 OnUnitActiveSec 与 OnCalendar

avi*_*526 4 systemd

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

OnCalendar=daily
Persistent=true
Run Code Online (Sandbox Code Playgroud)

和另一个使用示例:

OnBootSec=20min
OnUnitActiveSec=1d
Run Code Online (Sandbox Code Playgroud)

什么是更适合 anacron-a-like 的行为?

sai*_*895 6

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

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