Systemd は他のデバイスの前にデバイスを停止します。

Systemd は他のデバイスの前にデバイスを停止します。

仮想マシンの一部のバックアップを管理するサービスを作成しました。

サービスは、ホストがダウンしたときに1つのスクリプトを実行し、ホストが再起動したときに別のスクリプトを実行する必要があります。

私のサービスファイルには次のものがあります。

[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ではない)はそのサービスを終了します。

関連情報