重启或关机前无法执行脚本

重启或关机前无法执行脚本

我需要在系统关闭或重启之前执行一个脚本。

我已经创建了名为的脚本shutdown-pulse,我需要执行它并将其放在下/etc/init.d

脚本内容如下:

#!/bin/sh

echo "[`date`] Executing" > /var/log/shutdown-pulse.log
# my script to shutdown pulse
echo "[`date`] Done" > /var/log/shutdown-pulse.log

的文件权限为shutdown-pulse

root@TanLap:/etc/init.d# ls -l shutdown-pulse
-rwxr-xr-x 1 root root 77 May 26 12:39 shutdown-pulse

/etc/rc0.d我在和下分别创建了两个/etc/rc6.d具有相同名称的符号链接K02shutdown-pulse

root@TanLap:/etc/rc0.d# ls -l K02shutdown-pulse 
lrwxrwxrwx 1 root root 24 May 26 12:45 K02shutdown-pulse -> ../init.d/shutdown-pulse

root@TanLap:/etc/rc6.d# ls -l K02shutdown-pulse 
lrwxrwxrwx 1 root root 24 May 26 12:45 K02shutdown-pulse -> ../init.d/shutdown-pulse

我原本希望在重启后看到shutdown-pulse.log创建的文件包含一些内容。但是:/var/log

root@TanLap:/var/log# ls -l shutdown-pulse.log
ls: cannot access 'shutdown-pulse.log': No such file or directory

任何指针对于解决问题都会非常有帮助。

笔记:脉冲是 Pulse Secure VPN 客户端

答案1

如果您使用的是较新版本的 ubuntu(ubuntu 16.04 或更新版本),则应使用systemd而不是sysvinit

一个例子可能看起来像这样(将其放置在/etc/systemd/system/pulse-vpn.service

[Unit]
Description=Pulse VPN Client

[Service]
Type=simple
ExecStop=/path/to/your/script

[Install]
WantedBy=multi-user.target

要启用此功能,请运行

$ sudo systemctl daemon-reload
$ sudo systemctl enable pulse-vpn.service

相关内容