15 분마다 시스템 타이머


33

15 분마다 실행되는 시스템 타이머를 만들려고합니다. 지금 나는 가지고 있습니다 :

  • timer-fifteen.timer:

    [Unit]
    Description=15min timer
    
    [Timer]
    OnBootSec=0min
    OnCalendar=*:*:0,15,30,45
    Unit=timer-fifteen.target
    
    [Install]
    WantedBy=basic.target  
    
  • timer-fifteen.target:

    [Unit]
    Description=15min Timer Target
    StopWhenUnneeded=yes
    

이것은 멈추지 않고 계속해서 반복됩니다. *:0,15,30,45:*대신 해야합니까 ? 이 작업을 어떻게 수행 할 수 있습니까?


2
15 마다 구문이 의미하지 않습니까?
Pavel Šimerda

답변:


43

구문은 15 마다 변환 됩니다. 15 마다 원하는 경우 가장 읽기 쉬운 방법은 IMO입니다.

OnCalendar=*:0/15

질문에 사용하는 것과 가장 비슷한 답변은 다음과 같습니다.

OnCalendar=*:0,15,30,45

더 많은 정보 :


3
OnCalendar=0/8:00:00"8 시간마다 실행"이라고 말하는 것이 맞습니까?
shackra

4
예. 그러나 당신은 아마 지금까지 그것을 이미 알고있을 것입니다. :)
Pavel Šimerda

나는하지 않았지만 어쨌든 lol을 사용했습니다. 확인 감사합니다!
shackra

OnCalendar=*:0/15OnCalendar=*:0,15,30,45정확하게 번역해야 합니다 (문서에서 올바르게 읽었을 때). 로 8 시간마다 실현됩니다 OnUnitActiveSec=8hours.
Debilski

3
간격을 지정할 때 systemd-analyze, 예를 들어 try 의 출력이 유용 할 수 있습니다 systemd-analyze calendar *:0/15.
sebastian

12

에 따르면 systemd.time , 설정

OnCalendar=*:0/15

정확하게 번역

OnCalendar=*:0,15,30,45

즉. 전체 시간과 분기, 반, 분기에서 정확히 장치를 활성화합니다.

서비스에 따라 원하는 것이 아니고 모든 경우에 필요한 것이 아닐 수도 있습니다.

15 분마다 실행되는 타이머 ( 예 : 1:02, 1:17, 1:32, 1:47, 2:02,… – 항상 마지막 실행 시간에 따라)는 시스템으로 수행 할 수 있습니다 . 타이머 설정

OnUnitActiveSec=15min

이제 장치를 수동으로 활성화하거나 종속성이없는 경우를 제외하고 부팅 후 일정 시간이 지나면 장치가 시작되기를 원할 수도 있습니다.

OnBootSec=10min
OnUnitActiveSec=15min

부팅 후 10 분 후에 처음 시작한 후 15 분마다 장치를 시작합니다.

또한 OnUnitInactiveSec서비스가 중지 된 후 (또는 일반적으로 장치가 비활성화 된 후) 시간 계산을 시작 하는 설정 이 있습니다.


1
경고 : OnUnitActiveSec 꽤 고장난 것 같습니다 .
Anders Kaseorg
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.