Cron
Systemd 計時器 OnCalendar 每分鐘以 5 結尾
使用
OnCalendar
systemd 計時器,我可以創建這樣的東西,每 5 分鐘執行一次。OnCalendar=*:0/5
是否可以僅在 5 (00:05, 00:15, 00:25…)結束的每一分鐘執行它?
和/或每分鐘僅以 0 (00:00, 00:10, 00:20…)結尾?
主要目標是在 2 台伺服器上有一個計時器,因此每個伺服器都在空閒時間執行;如果一個失敗,另一個將至少每 10 分鐘執行一次(而不是 5 分鐘)。
解決方案:
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
我不確定這是否因發行版而異。無論如何,我使用的是 RHEL8。試試這個:
[Timer] OnCalendar=*-*-* *:05,15,25,35,45,55:00
使用該
systemctl daemon-reload
命令確保 systemd 知道這些更改。注意:您不應編輯 /usr/lib/systemd 目錄下的文件。使用 systemd,您可以將單元文件複製到 /etc/systemd/system 目錄並編輯該副本。