Systemd는 다른 장치보다 먼저 장치를 중지합니다.

Systemd는 다른 장치보다 먼저 장치를 중지합니다.

가상 머신의 일부 백업을 관리하는 서비스를 만들었습니다.

서비스는 호스트가 다운될 때 하나의 스크립트를 실행하고 호스트가 다시 작동할 때 다른 스크립트를 실행해야 합니다.

내 서비스 파일에는 다음이 있습니다.

[Unit]
Description=...
After=libvirtd.service

[Service]
ExecStart=/scripts/check.sh
ExecStop=/scripts/backup.sh
RemainAfterExit=yes
Type=oneshot

[Install]
WantedBy=multi-user.target

이제 내 check.sh 스크립트는 제대로 작동하지만 호스트를 재부팅하거나 종료하면 내 서비스와 libvirtd.service가 동시에 중지되므로 내 스크립트 backup.sh가 작동하지 않습니다.

libvirtd.service 전에 서비스를 중지하려면 어떻게 해야 합니까?

편집하다:

내 서비스는 게스트 컴퓨터가 실행 중일 때만 작동하므로 libvirt 또는 다른 것(비활성화했기 때문에 libvirt-guests가 아님)이 해당 서비스를 종료합니다.

관련 정보