Я должен выполнить сценарий перед Завершением работы системы или перезагрузкой.
Я создал названный сценарий 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
Любой указатель был бы очень полезный для выяснения проблемы.
Примечание: импульс является Безопасным клиентом VPN Импульса
Если вы используете более новую версию 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