저는 시스템 타이머를 작성 중입니다. WantedBy에는 어떤 값을 사용해야 합니까?

저는 시스템 타이머를 작성 중입니다. WantedBy에는 어떤 값을 사용해야 합니까?

다양한 예에서 제안된 다양한 옵션을 모두 확인했습니다.

  • WantedBy=timers.target
  • WantedBy=다중 사용자.대상
  • WantedBy=basic.target
  • WantedBy=default.target
  • WantedBy=mytimer.target(사용자 정의 이름)

그러나 내가 찾은 예에서는 더 이상의 설명이 제공되지 않았습니다.

다음 페이지에서는 WantedBy에 대한 설명도 제공하지 않습니다.

cron 작업 대신 시스템 타이머를 작성해야 할 때 사용할 수 있는 간단한 방법을 알고 싶습니다.

*크론 작업을 설정하려면 한 줄만 필요합니다. Systemd 타이머에는 두 개의 파일을 작성하고 하나 또는 두 개의 systemctl 명령을 실행하는 작업이 포함됩니다. 그러나 내 경험에 따르면 이 사실이 시스템 타이머가 cron보다 더 어려운 이유는 아닙니다. 옵션이 많고 완전히 설명할 수 있는 명확한 문서와 간단한 예가 부족한 것 같습니다.

답변1

간단한 사용 사례의 경우 WantedBy=timers.target.see를 사용하세요.man systemd.special:

timers.target

모든 타이머 단위에 대한 특수 대상 단위를 설정합니다(참조: systemd.timer(5)자세한 내용은) 이 옵션은 시작 후 활성화되어야 합니다.

Wants=응용 프로그램에 설치된 타이머 장치를 해당 장치의 종속성을 통해 가져오는 것이 좋습니다 . 이는 WantedBy=timers.target타이머 장치의 " " 섹션을 통해 [Install]구성하는 것이 가장 좋습니다.

기본적으로 타이머에는 종속성이 있습니다 Before=timers.target. 그리고 확인해 보면man bootup, 종속성으로 도입된 것을 볼 수 있습니다 basic.target. timers.target그래서 대부분의 경우( 뒤에 있는 , 일반적 으로 또는 , 둘 다 ) WantedBy=basic.target잘 작동하는 것 같습니다 . 하지만:default.targetmulti-user.targetgraphical.targetbasic.target

timers.target비동기식으로 가져옵니다 basic.target. 이를 통해 타이머 장치는 시작 후에만 사용할 수 있는 서비스에 의존할 수 있습니다.

timers.target따라서 다른 서비스 단위에 의존하는 것보다 다른 서비스 단위의 더 복잡한 타이머에 의존하는 것이 더 좋습니다 .

관련 정보