종료 시 스크립트를 실행하지만 다시 시작하지는 않음

종료 시 스크립트를 실행하지만 다시 시작하지는 않음

나는 필요한 작업, 즉 시스템이 종료될 때 스크립트를 실행하는 시스템 서비스를 가지고 있습니다. 그러나 이것은 재부팅 시에도 실행되는데 이는 내가 원하는 것이 아닙니다.

서비스 파일은 다음과 같습니다.

[Unit]
Description=Shutdown script
Requires=network.target
Before=poweroff.target halt.target
DefaultDependencies=no

[Service]
Type=oneshot
TimeoutSec=5
RemainAfterExit=true
User=sysadm
Group=sysadm
ExecStart=/bin/true
ExecStop=/usr/bin/myscript.sh

[Install]
WantedBy=multi-user.target systemd-halt.service systemd-poweroff.service

종료시에만 작동하게 하는 방법이 있나요?

답변1

이것이 최선의 해결책인지는 확실하지 않지만 효과가 있는 것 같습니다.

나는 ExecStart다음과 같이 줄을 바꿨다.이것답변:

ExecStop=/bin/bash -c 'systemctl list-jobs | grep -Eq 'reboot.target.*start' || /usr/bin/myscript.sh'

관련 정보