Executando o script antes de desligar aparentemente não está funcionando

2

Eu criei um pequeno script backup_files.sh e coloquei em /etc/init.d :

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

Eu gostaria que este script fosse executado sempre que o computador fosse reinicializado ou desligado, por isso 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

Eu tentei o script "manualmente" e funcionou muito bem. No entanto, se eu desligar ou reiniciar o computador, aparentemente ele não será executado.

Alguém vê o que estou fazendo errado?

Nota: Estou usando o Xubuntu 11.10.

    
por phimuemue 25.03.2012 / 15:03

1 resposta

6

Finalmente descobri que eu tinha que dar a eles nomes de arquivos particulares:

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 reinicialização, respectivamente. Os scripts com seus nomes começando com k são executados com um argumento stop , enquanto aqueles iniciando com S são executados com o argumento start . Além disso, a execução dos arquivos é feita em ordem lexicográfica.

Os arquivos nesses runlevels são nomeados como:

[K | S] + nn + [string]

nn - > um número de dois dígitos
string - > deve ser uma string minúscula

Mais sobre os runlevels do Linux podem ser encontrados aqui

    
por 25.03.2012 / 15:19