我需要在 09:15 - 17:15 之间每分钟启动一项服务。
实现这一目标的最佳方法是什么?
我可以制作 3 个计时器,一个用于启动 (1) 计时器 (2),它每分钟运行一次服务,一个用于停止它 (3)。但是对于两者之间的重新启动来说,它不会很健壮。
我需要在 09:15 - 17:15 之间每分钟启动一项服务。
实现这一目标的最佳方法是什么?
我可以制作 3 个计时器,一个用于启动 (1) 计时器 (2),它每分钟运行一次服务,一个用于停止它 (3)。但是对于两者之间的重新启动来说,它不会很健壮。
您可以创建具有多个
OnCalendar=
设置的单个计时器单元,这将允许您指定所需的确切时间间隔。如果您查看 systemd.timer 的手册页,该
OnCalendar=
部分会显示:因此,对开始、中间和结束使用三个单独的设置:
这应该在 9:15 到 17:15 之间每分钟触发一次计时器,包括在内。
要在所需时间之间准确运行,您需要 cron 中的 3 条记录
它必须是 Systemd 计时器吗?您还可以为此任务创建一个cronjob 。例如像这样:
*/1 9-17 * * * /bin/systemctl restart SERVICE
这不会在 9:15 到 17:15 之间运行,而是在 9 点到 17:59 之间运行。但我在创建高级 cronjobs 方面不太熟练......