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 脚本工作正常,但是当我重新启动或关闭主机时,我的脚本 backup.sh 不起作用,因为我的服务和 libvirtd.service 同时停止。

如何让我的服务在 libvirtd.service 之前停止?

编辑:

我的服务只有在来宾计算机正在运行时才会工作,因此 libvirt 或其他东西(不是 libvirt-guests,因为我禁用了它)正在关闭它们。

相关内容