다양한 예에서 제안된 다양한 옵션을 모두 확인했습니다.
- WantedBy=timers.target
- WantedBy=다중 사용자.대상
- WantedBy=basic.target
- WantedBy=default.target
- WantedBy=mytimer.target(사용자 정의 이름)
그러나 내가 찾은 예에서는 더 이상의 설명이 제공되지 않았습니다.
다음 페이지에서는 WantedBy에 대한 설명도 제공하지 않습니다.
- https://www.freedesktop.org/software/systemd/man/systemd.timer.html
- https://www.freedesktop.org/software/systemd/man/systemd.time.html
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.target
multi-user.target
graphical.target
basic.target
timers.target
비동기식으로 가져옵니다basic.target
. 이를 통해 타이머 장치는 시작 후에만 사용할 수 있는 서비스에 의존할 수 있습니다.
timers.target
따라서 다른 서비스 단위에 의존하는 것보다 다른 서비스 단위의 더 복잡한 타이머에 의존하는 것이 더 좋습니다 .