
Utilizo el trabajo cron para monitorear y reiniciar otros servicios si no se están ejecutando. Pero, ¿cómo monitorear/reiniciar el propio crond?
Respuesta1
Necesitará un sistema de inicio ( runit
,, systemd
etc.) que pueda controlar el proceso y (con la configuración adecuada) reiniciar el demonio después de una falla, o ejecutar algún otro demonio que verifique si el proceso cron se está ejecutando y, en caso contrario, lo reinicie. it ( monit
, cualquier gestión de configuración que ejecute un agente local como CFEngine, etc.).
Respuesta2
Es bueno observar a los observadores con un script de vigilancia de bucle sin fin y colocarlo en /etc/rc.local o en un archivo de inicio similar.
#!/bin/bash
for service in crond httpd whatever
do
if [ `pgrep $service` = '' ]
then
service $service restart
# OR
# systemctl restart service
fi
sleep 3
done
Por supuesto, este ejemplo simple solo funciona si el proceso de servicio y el script de inicio del servicio comparten el mismo nombre. pero puedes arreglarlo para que coincida con tus demandas