Execute script simples antes de desligar e reiniciar

0

Eu preciso executar um script muito simples antes de desligar ou reiniciar meu VPS com o Debian 8, para manter a contagem das estatísticas da rede. Eu tentei adicionar o script diretamente ao /etc/init.d e fazer a ligação simbólica em /etc/rc0.d e /etc/rc6.d e adicionando a ele o cabeçalho LSB, tornando-o como um serviço real com start e stop e gerando os symlinks com update-rc.d, mas nada funcionou, parece que o script não é executado. tem a ver com ser um VPS, por isso não é reconhecido pelo sistema quando aparentemente é desligado ou reiniciado.

Eu só preciso de um mecanismo simples, sem ter que criar um serviço adequado. Também gostaria de saber qual poderia ser a melhor maneira de verificar se o script está realmente sendo executado ou não, alguma maneira simples de fazer log. O roteiro é apenas isto:

RESULT=$(bc <<< "scale =2;($(cat /sys/class/net/venet0/statistics/rx_bytes)/1024/1024/1024)+($(cat /sys/class/net/venet0/statistics/tx_bytes)/1024/1024/1024)+($(cat /root/bw))")
echo $RESULT > /root/bw
    
por user2859982 07.09.2015 / 19:22

2 respostas

2

Isso funciona para mim como /etc/systemd/system/netstat.service :

[Unit]
Description=Save interface stats on shutdown

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecStop=/bin/sh -c '{ date; ip -s link; } >>/root/ipstat.log'

[Install]
WantedBy=multi-user.target

Ativar com systemctl enable netstat . Isso não lhe dará estatísticas precisas, porque as interfaces de rede ainda podem ser usadas durante o desligamento, mas isso pode ser aceitável para você.

    
por 11.09.2015 / 08:46
0

Bem, eu uso um hack feio chamando meu script de /etc/rc.d/init.d/network . Isto lhe dará estatísticas sempre que a rede subir / descer / reiniciar ou o sistema for interrompido / desligado.

Não sei se isso é uma boa prática ou não funciona.

    
por 11.09.2015 / 10:03