나는 이러한 서비스 파일을 작성하는 것이 처음이고 스택 및 유닉스 오버플로에 대한 몇 가지 블로그를 따라 시스템 서비스 파일을 작성했습니다.
종료 시 실행해야 하는 스크립트가 있고 docker 데몬이 실행되어야 합니다. 서비스 파일은 다음과 같습니다
[Unit]
Description=Shutdown script
Before=shutdown.target
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStop=/path/to/script
[Install]
WantedBy=multi-user.target
쉘 스크립트(스크립트 실행)에 다음을 추가하여 인스턴스의 시작 스크립트에서 위 서비스를 자동으로 생성/활성화하려고 합니다.
chmod +x /path/to/script
if [ ! -f "/etc/systemd/system/path.service" ]; then
cp file/path.service /etc/systemd/system/path.service
systemctl daemon-reload
fi
systemctl enable path.service
종료할 때마다 실행하고 싶지만 인스턴스 시작 시 실행됩니다. 위 서비스 파일에 제가 실수한 것이 있나요?
답변1
[Install]
WantedBy=multi-user.target
종료 시 서비스를 실행하는 대신 시작 시 서비스를 실행하십시오. 당신이 원하는
[Install]
WantedBy=shutdown.target