systemd: 달력 사양을 구문 분석할 수 없습니다. 무시: 5m

systemd: 달력 사양을 구문 분석할 수 없습니다. 무시: 5m

타이머 장치에서 실행되는 간단한 시스템 서비스를 얻으려고 합니다. 어떤 이유로 systemd는 내가 시간을 지정하는 방식을 좋아하지 않는 것 같습니다. minutelyor 를 daily값으로 사용하면 스크립트가 작동 OnCalendar하지만 이제 5분으로 설정하려고 하면 systemd에서 오류가 발생합니다.

/etc/systemd/system/backup.timer:7: Failed to parse calendar specification, ignoring: 5m
backup.timer: Timer unit lacks value setting. Refusing.

에 따르면 문제는이 페이지, minutes이해 가능한 시간 단위여야 합니다. 거기에서 작동해야 하는 샘플 기간이 있으므로 왜 작동하지 않는지 또는 어떻게 든 작동하지 않는지 2hours이해할 수 없습니다 .5m5minutes

이것은 내 타이머 파일입니다.

[Unit]
Description=Timer unit for backup.service
Requires=backup.service

[Timer]
Unit=backup.service
OnCalendar=5m

[Install]
WantedBy=timers.target

또 다른 점은 이것을 실행할 때 오류를 반환하지 않고 systemd-analyze timespan 5minutes값을 올바르게 구문 분석할 수 있는 것 같다는 것입니다.

Original: 5minutes
      μs: 300000000
   Human: 5min

답변1

5m시간이다-기간. OnCalendar=예상 시간-우표.

~에 따르면시스템 시간(7)에서 타임스탬프는 고유한 시점이고, 기간은 기간입니다.

이를 유지하려면 OnCalendar=다음과 같이 타임스탬프를 사용하세요.

  • minutely, hourly,daily
  • 2012-11-23 11:12:13
  • Mon,Fri *-01/2-01,03 *:30:45

지속 시간을 정말로 사용하고 싶다면 지속 시간이 걸리는 것을 시도 OnActiveSec=하고 OnBootSec=장치 활성화 또는 시스템 시작 시간에 추가하세요. 바라보다systemd.timer(5)OnUnitActiveSec=(마지막으로 타이머가 실행된 시간) 과 같은 추가 옵션

달력 이벤트 표현식을 사용하여 실시간(예: 벽시계) 타이머를 정의합니다.

달력 이벤트 표현식은 "고유한 시점"입니다.

관련 정보