Systemd 定时器 OnCalendar 每分钟以 5 结尾

Systemd 定时器 OnCalendar 每分钟以 5 结尾

使用OnCalendarsystemd 计时器,我可以创建类似的程序每 5 分钟运行一次。

OnCalendar=*:0/5

是否可以每分钟运行一次结束于 5(00:05、00:15、00:25……)?

和/或每分钟以 0 结尾(00:00、00:10、00:20……)?

主要目标是在 2 台服务器上安装计时器,以便每台服务器在空闲时间运行;如果一台出现故障,另一台将至少每 10 分钟运行一次(而不是 5 分钟)。

答案1

解决方案:

OnCalendar=*:5/10

相当于*:5,15,25,35,45,55

为了确保结果,请使用以下命令:

systemd-analyze calendar --iterations=8 '*:5/10' | grep Iter
       Iter. #2: Sun 2022-02-20 00:25:00 CET
       Iter. #3: Sun 2022-02-20 00:35:00 CET
       Iter. #4: Sun 2022-02-20 00:45:00 CET
       Iter. #5: Sun 2022-02-20 00:55:00 CET
       Iter. #6: Sun 2022-02-20 01:05:00 CET
       Iter. #7: Sun 2022-02-20 01:15:00 CET
       Iter. #8: Sun 2022-02-20 01:25:00 CET

答案2

我不确定这是否因发行版而异。无论如何,我使用的是 RHEL8。试试这个:

[Timer]
OnCalendar=*-*-* *:05,15,25,35,45,55:00

使用该systemctl daemon-reload命令确保 systemd 知道这些更改。

注意:您不应编辑 /usr/lib/systemd 目录下的文件。使用 systemd,您可以将单元文件复制到 /etc/systemd/system 目录并编辑该副本。

相关内容