Не мог выполнить сценарий перед перезагрузкой или завершением работы

Я должен выполнить сценарий перед Завершением работы системы или перезагрузкой.

Я создал названный сценарий 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 Импульса

6
задан 26 May 2018 в 01:07

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
6
ответ дан 23 November 2019 в 07:48

Другие вопросы по тегам:

Похожие вопросы: