我正在使用 Kubuntu 18.04。我想在计算机重启或关闭时运行一个脚本。我之前在 Kubuntu 14.04 中使用过相同的脚本,但现在,在 18.04 中,我想我需要通过 systemd 来处理它。
这是我到目前为止尝试过的方法:
我已注释掉脚本的内容,以echo "called" > /home/backup
确保它已被调用,
并像这样创建了符号链接/etc/rc0.d
:
root:/etc/rc0.d# ll | grep quick lrwxrwxrwx 1 root root 22 čec 1 16:46 K99quick-backup -> ../init.d/quick-backup
我试过 K99 和 K01,但都没有用,
我将其添加到脚本的开头(虽然在 14.04 中没有它也能正常工作):
### BEGIN INIT INFO
# Provides: my-service-name
# Required-Start: $all
# Required-Stop:
# Default-Start: 0 6
# Default-Stop:
# Short-Description: your description here
### END INIT INFO
我可以通过调用手动运行脚本/etc/rc0.d/K99quick-backup
,因此我可以/etc/init.d/quick-backup
使用 systemd来运行它
root:/etc/systemd/system# cat /etc/systemd/system/qbackup.service
[Unit]
Description=Quick backup of settings
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/root/test.sh
[Install]
WantedBy=halt.target reboot.target shutdown.target
进而
systemctl enable qbackup.service ; systemctl daemon-reload
这是我重启后得到的结果:
ystemctl status qbackup.service
● qbackup.service - Quick backup of settings
Loaded: loaded (/etc/systemd/system/qbackup.service; enabled; vendor preset: enabled)
Active: inactive (dead)
有人能帮我吗?或者只是建议如何为运行级别 0 和 6 自动执行单个 bash 脚本的简单方法谢谢