我有一个每小时运行一次的服务(使用OnCalendar=hourly)。如果系统 24/7 运行,这非常有用,但在退出挂起/休眠状态后会变得一团糟。该服务将立即运行 - 这是我想要的 - 但它会在每个小时的顶部再次运行,无论自上次运行以来已经过去了多少时间。
有没有办法配置计时器以 1 小时间隔运行?
我有一个每小时运行一次的服务(使用OnCalendar=hourly)。如果系统 24/7 运行,这非常有用,但在退出挂起/休眠状态后会变得一团糟。该服务将立即运行 - 这是我想要的 - 但它会在每个小时的顶部再次运行,无论自上次运行以来已经过去了多少时间。
有没有办法配置计时器以 1 小时间隔运行?
您可以在Arch-wiki 中查看 systemd timers的详细示例。
对于您的情况,您可以使用单调计时器,例如:
实时计时器 将
OnCalendar=hourly
在启动后运行(对于错过的小时,因为Persistent=true
我猜你),然后将遵循固定的日期时间值,所以正如你所描述的,启动后前两次运行之间的间隔可能小于一个小时。但是你可能不想使用单调计时器,尽管它涵盖了你想要的关于暂停的内容,如果你不想在重启时出现这种行为。
Persistent=false
那么适合您的情况,但所有运行都将在固定时间进行。