Considerações para construir scripts Bash compatíveis com SysV ou Upstart

1

Acabei de eliminar um script rápido para manter um servidor da Web escravo em sincronia com um mestre usando o rsync. ( link )

Eu gostaria de fazer isso rodar na inicialização e ser controlável através dos usuais comandos /etc/init.d/ ... ou service, entretanto esta é uma área que eu sempre encontrei. Scripts .d e scripts iniciantes terrivelmente confusos, e não é possível encontrar um guia em qualquer lugar para começar do zero.

O único controle que eu gostaria de ter sobre ele é iniciar / parar / reiniciar. Obviamente depois eu vou mover a configuração para um arquivo separado em / etc, mas isso já está nas cartas, fora do escopo desta questão.

Quaisquer ponteiros / recomendações e práticas recomendadas seriam úteis. Devo acrescentar que estou fazendo isso no Ubuntu.

    
por SimonJGreen 16.07.2011 / 13:02

1 resposta

1

Você pode copiar um dos arquivos existentes na pasta /etc/init.d/ e personalizá-lo para iniciar seu script. Esses arquivos geralmente fazem o seguinte:

1- Verifique a existência de alguns arquivos de configuração e binários.

2- Inclua algumas funções de inicialização.

3- Verifique o parâmetro "action": inicie, pare, reinicie e execute a ação apropriada usando uma estrutura case .

4- Os comentários no início desses arquivos de inicialização são importantes, pois descrevem como eles são iniciados e os níveis de execução necessários.

Para fazê-lo funcionar na inicialização do sistema, você pode usar o utilitário update-rc.d .

    
por 16.07.2011 / 13:14