Como fazer um script rodar durante a inicialização no Debian Wheezy?

Como fazer um script rodar durante a inicialização no Debian Wheezy?

Estou escrevendo um script para realizar algumas tarefas no momento da inicialização em meu Debian Wheezy AWS EC2 AMI. Fontes na internet dizem que a maneira usual de fazer isso é usar update-rc.dpara instalar os links simbólicos necessários para configurá-lo para ser executado no momento da inicialização.

No entanto, quando tento fazer isso, recebo o erro

$ update-rc.d
-bash: update-rc.d: command not found

Este método tem funcionado para mim até o Debian Squeeze. A maneira padrão de fazer isso mudou no Debian 7.0? Não consigo encontrar nenhuma documentação que explique como fazê-lo de forma oficial.

Responder1

Parece que você está tentando usar update-rc.dcomo usuário sem privilégios? Como esta ferramenta está localizada em /usr/sbin/você provavelmente não a possui em seu arquivo $PATH. Então tente executá-lo como usuário root ou chame-o via sudo update-rc.d.

Responder2

Seu script deve conter um cabeçalho LSB (Linux Standards Base) que indica suas dependências e capacidades (vejahttps://wiki.debian.org/LSBInitScriptspara mais informações sobre cabeçalhos LSB).

Se um cabeçalho LSB estiver presente, você pode usar insservpara incluir seu script no processo de inicialização (vejahttps://wiki.debian.org/LSBInitScripts/DependencyBasedBootPara maiores informações).

Responder3

Uma parte da criação de um novo script LSB e da adição é como um serviço de inicialização, que é uma abordagem mais padrão.

Você também pode adicionar qualquer script menor (como gerar um relatório, tarefas de limpeza) ao arquivo /etc/init.d/rc.local.

No entanto, certifique-se de que rc.local esteja presente e habilitado para seu nível de execução (geralmente 3 no debian) -find /etc/rc*.d | grep rc.local

informação relacionada