달력에 여러 순간이 있는 타이머

달력에 여러 순간이 있는 타이머

백업 작업을 자동으로 트리거하기 위해 시스템 타이머와 장치를 사용하고 있습니다. 하지만 현재는 밤의 특정 시간에만 실행됩니다. 동일한 타이머에서 선언하여 여러 순간에 실행되도록 할 수 있나요?

이제 다음과 같이 보입니다.

[Unit]
Description=Run luky-borg-backup every night

[Timer]
OnCalendar=21:00
AccuracySec=1h
Persistent=yes

[Install]
WantedBy=timers.target

다음과 같아야 합니다.

[Unit]
Description=Run luky-borg-backup every night

[Timer]
OnCalendar=10:00,21:00
AccuracySec=1h
Persistent=yes

[Install]
WantedBy=timers.target

답변1

동일한 타이머에서 선언하여 여러 순간에 실행되도록 할 수 있나요?

예.

바라보다이 발췌man systemd.timer(내 강조점) 에서 :

달력에 =

    달력 이벤트 표현식을 사용하여 실시간(예: 벽시계) 타이머를 정의합니다. 캘린더 이벤트 표현식 구문에 대한 자세한 내용은 systemd.time(7)을 참조하세요. 그렇지 않은 경우 의미 체계는 OnActiveSec= 및 관련 설정과 유사합니다.

    타이머는 아래 AccuracySec= 설정의 영향을 받기 때문에 이 설정으로 구성된 정확한 시간에 반드시 만료되는 것은 아닙니다.

    여러 번 지정할 수 있음.

내가 사용하는 실제 예제는 다음과 같습니다.

[Timer]
OnCalendar=Mon-Sun *-*-* 23:00:00
OnCalendar=Mon-Sun *-*-* 06:00:00

답변2

이 게시물은 약간 오래되었지만 동일한 타이머에서 이를 선언하는 여러 가지 방법이 있다는 점을 지적하고 싶었습니다.

각 구성 요소는 쉼표로 구분된 값 목록으로 지정할 수 있습니다.

귀하의 경우 구성 요소가 하나만 변경되므로 이 솔루션을 권장합니다. 동일한 구성요소 사이에 쉼표를 배치해야 한다는 것을 이미 알고 있습니다.

OnCalendar=10,21:00

여러 번 지정할 수 있으며, 이 경우 지정된 표현식이 경과할 때마다 타이머 장치가 실행됩니다.

여러 구성 요소가 변경되면 두 번째 솔루션을 권장합니다.

OnCalendar=Mon..Wen 10:00  
OnCalendar=Thu..Fri 21:00

관련 정보