在关机时运行脚本但不重新启动

在关机时运行脚本但不重新启动

我有一个 systemd 服务可以满足我的需求,即在系统关闭时运行脚本。但是,这也会在重新启动时运行,这不是我想要的。

这是服务文件:

[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'

相关内容