重新启动/关闭时如何运行脚本

时间:2018-07-01 19:53:47

标签: ubuntu systemd

我正在使用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脚本 谢谢

0 个答案:

没有答案