A execução do script antes do desligamento aparentemente não funciona

A execução do script antes do desligamento aparentemente não funciona

Criei um pequeno script backup_files.she coloquei-o em /etc/init.d:

#/bin/sh
logfile=/media/verbatim/log
date >> $logfile
rsync -av /home/philipp/Documents /media/verbatim/ >> $logfile

Gostaria que esse script fosse executado sempre que o computador fosse reiniciado ou desligado, então fiz o seguinte:

sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/backup_files.sh

Além disso, tornei o script executável:

sudo chmod +x /etc/init.d/backup_files.sh

Tentei o script "manualmente" e funcionou perfeitamente. No entanto, se eu desligar ou reiniciar meu computador, aparentemente ele não será executado.

Alguém vê o que estou fazendo de errado?

Nota: estou usando o Xubuntu 11.10.

Responder1

Finalmente descobri que precisava dar a eles nomes de arquivos específicos:

sudo ln -s /etc/init.d/backup_files.sh /etc/rc0.d/K10backup_files.sh
sudo ln -s /etc/init.d/backup_files.sh /etc/rc6.d/K10backup_files.sh

Os scripts em /etc/rc0.d e /etc/rc6.d são executados no momento do desligamento e da reinicialização, respectivamente. Os scripts com nome começando com maiúscula ksão executados com um argumento stopenquanto aqueles que começam com maiúscula Ssão executados com argumento start. Além disso a execução dos arquivos é feita em ordem lexicográfica.

Os arquivos nesses níveis de execução são nomeados como:

[K | S] + nn + [string]

nn -> uma
sequência numérica de dois dígitos ->deveseja umminúsculacorda

Mais sobre os níveis de execução do Linux podem ser encontradosaqui

informação relacionada