첫 번째 실행 후 매시간 실행되도록 systemd 타이머 구성

첫 번째 실행 후 매시간 실행되도록 systemd 타이머 구성

매시간 실행되는 서비스가 있습니다.OnCalendar=시간별). 이거 잘 작동해요만약에시스템은 연중무휴로 작동하지만 일시 중지/최대 절전 모드를 종료하면 혼란스러워집니다. 서비스는 즉시 실행됩니다(원하는 대로). 그러나 마지막 실행 이후 경과한 시간에 관계없이 매 시간 정각에 다시 실행됩니다.

1시간 간격으로 타이머가 실행되도록 구성하는 방법이 있습니까?

답변1

자세한 예시를 보실 수 있습니다시스템 타이머를 위한 Arch-wiki.

귀하의 경우에는 다음을 사용할 수 있습니다단조 타이머, 그것은 다음과 같습니다 :

[Timer]
OnBootSec=1min
OnUnitActiveSec=1h

이것실시간 타이머 OnCalendar=hourly시작 후에 실행되고(제 생각에는 놓친 시간에 대해 Persistent=true) 고정된 날짜/시간 값을 따르므로 설명에 따르면 시작 후 처음 두 실행 사이의 간격은 1시간 미만일 수 있습니다.

그러나 단조 타이머를 사용하고 싶지는 않을 것입니다. 단조 타이머는 원하는 일시 중지 기능을 포함하지만 다시 시작할 때 이 동작을 원하지 않는 경우에는 가능합니다. Persistent=false귀하의 경우에 적합하지만 모든 실행은 고정된 시간에 진행됩니다.

관련 정보