![¿Cómo reiniciar crond automáticamente si no se está ejecutando?](https://rvso.com/image/1558015/%C2%BFC%C3%B3mo%20reiniciar%20crond%20autom%C3%A1ticamente%20si%20no%20se%20est%C3%A1%20ejecutando%3F.png)
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