以下を含むタイマーに関するいくつかの良い参考資料がありますsystemd
。
残念ながら、定期的に実行されますが、時間ごとに特定の分単位で実行されるタイマーを作成する方法は依然として不明です。
2時間ごとに30分間実行されるタイマーを作りたいです。そのため、14:30(午後2:30)、16:30、18:30、20:30などに行われます。
以下を含む、うまくいかないいくつかの操作を試しました。
OnCalendar=*-*-* *00/2:30
これ:
OnCalendar=*-*-* *:00/2:30
目的の結果を生成するタイミング仕様が見つかりませんでした。
また、その瞬間に実行中である必要はないので、次のことを使うつもりです。
AccuracySec=5m
答え1
2時間ごとに毎時30分ごと
OnCalendar=00/2:30
# iow hh/r:mm
00/2
-hh
値はで00
、繰り返し値はですr
。2
つまり、hh
その値に繰り返し値のすべての倍数(00
、、、02
.. 、04
..など)を加えた値と一致します。 -値は30分から毎時間一致します。14
16
30
mm
30
それ以来、同じページに日付と秒がありませんman
。
日付指定は省略できます。この場合、現在の日付は暗黙的になります。 [...] [...] 2番目の部分を指定しない場合は「:00」とみなされます。
答え2
将来の読者のためのソリューション:
# systemd-analyze calendar --iterations=2 '0/2:30:00'
Original form: 0/2:30:00
Normalized form: *-*-* 00/2:30:00
Next elapse: Fri 2023-01-20 16:30:00 EET
(in UTC): Fri 2023-01-20 14:30:00 UTC
From now: 1h 22min left
Iter. #2: Fri 2023-01-20 18:30:00 EET
(in UTC): Fri 2023-01-20 16:30:00 UTC
From now: 3h 22min left