시스템 타이머를 사용하여 서비스 종료 및 시작

시스템 타이머를 사용하여 서비스 종료 및 시작

ServiceName.service 파일을 만들었습니다.

[Unit]
Description=ServiceName Service
After=network.target

[Service]
ExecStart=/usr/local/bin/<scriptName>.sh

ServiceName.timer 파일을 만들었습니다.

[Unit]
Description=ServiceName timer to start weekly

[Timer]
#reboot
OnBootSec=1min
#weekly
OnUnitActiveSec=1w
Unit=ServiceName.service

[Install]
WantedBy=multi-user.target

.sh 파일은 웹 페이지를 실행하고 일주일 동안의 웹 페이지에 액세스해야 하는 새로운 결과로 이를 검색한 다음 새로운 검색을 수행합니다.

부팅 시 스크립트가 시작되어 해당 부분이 작동합니다. 하지만 타이머 기능이 작동하려면 스크립트가 먼저 서비스를 종료해야 하는 것 같습니다. 나는 무엇을 해야할지 모르겠습니다.

답변1

Unix와 LinuxStackExchange에 오신 것을 환영합니다.

After=network-online.target먼저, 네트워크가 완벽하게 작동하는지 확인 하고 싶을 수 있습니다 .

systemctl enable ServiceName.timer둘째, 부팅 시 타이머가 시작되도록 해야 합니다 . 너 그거 했니? systemctl list-timers어느 것이 실행되고 있는지 확인하는 데 사용됩니다 .

WantedBy=timers.target셋째, 권장 대상을 사용하도록 타이머 파일을 업데이트하세요 .

관련 정보