Como se verifica se um script init.d está funcionando?

4

Eu tive o desagrado de perceber amargamente que (após alguns dias) após a reinicialização do meu sistema, os scripts init.d escritos por mim não foram executados. Isso causou alguns problemas, mas acho que consertei.

Então, agora, gostaria de escrever um script no qual eu irei instalar no crontab que verificará se os scripts init.d estão funcionando ou não.

P: Como se verifica se os scripts init.d estão funcionando? Ou ver uma lista dos scripts init.d funcionando?

A ideia: Verifique se os scripts init.d estão em execução, se não, envie um e-mail, para notificar a mim mesmo, que por algum motivo o script init.d falhou.

por 3kstc 19.05.2015 / 03:30

1 resposta

1

Você não pode dizer genericamente se um script de inicialização foi executado a partir de um cron job. Você teria que procurar algum efeito colateral do script init, e o cron é inútil para isso. Faça seu script de inicialização emitir uma mensagem de log.

Se você quiser ter certeza de que um serviço está sendo executado, use um mecanismo de monitoramento (possivelmente network-based se o serviço for oferecido pela rede). Isso não é sobre se o script de inicialização foi executado, isso é apenas um modo de falha bastante improvável. É sobre garantir que o serviço esteja disponível quando necessário.

Como executar um script quando o sistema é iniciado depende de qual sistema init está em uso. Como existem muitas alternativas (mesmo no Linux, e às vezes até no mesmo lançamento da mesma distribuição), verifique a documentação do seu sistema operacional para ver como executar um script de inicialização. Note que com a maioria deles, não é suficiente deixar cair um script de shell em algum diretório, você também precisa adicionar algumas informações de controle em algum lugar (em um arquivo de configuração, um link simbólico, como um comentário no script, ...) .

    
por 19.05.2015 / 16:59

Tags