¿Cómo reiniciar crond automáticamente si no se está ejecutando?

¿Cómo reiniciar crond automáticamente si no se está ejecutando?

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,, systemdetc.) 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

información relacionada