다음을 포함하여 타이머에 대한 몇 가지 좋은 참고 자료가 있습니다 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
.. 14
, 16
.. 등) 를 더한 값과 일치합니다
30
. - mm
값은 30
30분 이후 매 시간마다 일치합니다.
그 이후로 같은 페이지에서 날짜와 초가 누락되었습니다 man
.
날짜 지정은 생략될 수 있으며, 이 경우 현재 날짜가 암시됩니다. [...] [...] 두 번째 부분을 지정하지 않으면 ":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