Não é possível executar o script antes de reinicializar ou desligar

6

Eu preciso executar um script antes de desligar ou reiniciar o sistema.

Eu criei o script chamado shutdown-pulse , que preciso executar e colocar em /etc/init.d .

O conteúdo do script é:

#!/bin/sh

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

A permissão de arquivo de shutdown-pulse é:

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

Eu criei dois links simbólicos em /etc/rc0.d e /etc/rc6.d , respectivamente com o mesmo nome 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

e

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

Eu estava esperando ver o arquivo shutdown-pulse.log criado sob /var/log tendo algum conteúdo depois que eu reiniciei. Mas:

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

Qualquer ponteiro seria muito útil para descobrir o problema.

Nota: pulse é o Pulse Secure VPN Client

    
por Tapas Bose 26.05.2018 / 10:07

1 resposta

6

Se você estiver em uma versão mais recente do Ubuntu (Ubuntu 16.04 ou mais recente), use systemd em vez de sysvinit .

Um exemplo poderia ser assim (coloque-o em /etc/systemd/system/pulse-vpn.service :

[Unit]
Description=Pulse VPN Client

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

[Install]
WantedBy=multi-user.target

Para ativar isso, execute

$ sudo systemctl daemon-reload
$ sudo systemctl enable pulse-vpn.service
    
por Lienhart Woitok 26.05.2018 / 10:53