Como reiniciar automaticamente o crond se ele não estiver sendo executado?

0

Eu uso o cron job para monitorar e reiniciar outros serviços se eles não estiverem em execução. Mas como monitorar / reiniciar o próprio crond?

    
por peter 08.04.2018 / 16:53

2 respostas

2

Você precisará de um sistema init ( runit , systemd , etc.) que possa manter abas no processo e (com a configuração apropriada) reiniciar o daemon após falha, ou executar algum outro daemon que verifique se o processo do cron está em execução e, se não for reiniciado, ( monit , qualquer gerenciamento de configuração que execute um agente local, como o CFEngine, etc.).

    
por 08.04.2018 / 17:06
0

É bom observar os observadores com um script de monitoramento de loop infinito e colocar isso em /etc/rc.local ou arquivo de inicialização semelhante.

#!/bin/bash
for service in crond httpd whatever
do
if [ 'pgrep $service' = '' ]
   then
   service $service restart
   # OR
   # systemctl restart service
   fi
sleep 3
done

É claro que este exemplo simples só funciona se o processo de serviço e o script de inicialização do serviço compartilharem o mesmo nome. mas você pode consertá-lo para atender às suas demandas

    
por 08.04.2018 / 17:04