![Como reiniciar automaticamente o crond se ele não estiver em execução?](https://rvso.com/image/1558015/Como%20reiniciar%20automaticamente%20o%20crond%20se%20ele%20n%C3%A3o%20estiver%20em%20execu%C3%A7%C3%A3o%3F.png)
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?
Responder1
Você precisará de um sistema init ( runit
, systemd
, etc.) que possa controlar o processo e (com configuração apropriada) reiniciar o daemon após uma falha ou executar algum outro daemon que verifique se o processo cron está em execução e, se não, reinicia it ( monit
, qualquer gerenciamento de configuração que execute um agente local como CFEngine, etc.).
Responder2
É bom observar os observadores com um script watchdog de loop infinito e colocá-lo em /etc/rc.local ou em um 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 do serviço e o script de inicialização do serviço compartilharem o mesmo nome. mas você pode corrigi-lo para atender às suas demandas