![systemd 计时器 OnUnitActiveSec 与 OnCalendar 的 anacron 替换](https://linux22.com/image/74802/systemd%20%E8%AE%A1%E6%97%B6%E5%99%A8%20OnUnitActiveSec%20%E4%B8%8E%20OnCalendar%20%E7%9A%84%20anacron%20%E6%9B%BF%E6%8D%A2.png)
我需要每天运行一次 oneshot bash 脚本(日志轮换和清理)。我看到一些说明使用的例子:
OnCalendar=daily
Persistent=true
另一个例子使用:
OnBootSec=20min
OnUnitActiveSec=1d
对于类似 anacron 的行为来说,什么是更优化的?
答案1
对于类似 anacron 的行为,您需要使用前者,在其中指定特定时间并让它跟踪任务上次运行的时间(如果错过了运行则运行它)。后者表示在系统启动后 20 分钟运行该任务,然后每 24 小时运行一次。
但是,在我看来,您应该逐个任务地确定使用哪一个,该任务是否需要每天运行(在特定时间),或者是否需要相对于某些系统事件运行。