Vigilar un cron de Linux
El problema clásico con cron : cuando un job falla o deja de ejecutarse, nadie se entera. El correo local de cron acaba en/var/mail que nadie lee. Resultado: un backup roto en silencio desde hace 3 semanas, que descubres el día que lo necesitas.
Por qué los crons fallan en silencio
- El servidor se reinició y crond no volvió a arrancar.
- El PATH del cron difiere del shell interactivo → comando no encontrado.
- El disco está lleno o un bloqueo (flock) impide la ejecución.
- El script falla pero devuelve el código 0, así que «todo va bien».
¿Buscas la línea de crontab en sí: flags de curl, escapar el %, evitar solapamientos? Ver la guía de cron cada 5 minutos.
La solución: un dead man's switch
En lugar de vigilar el servidor, le pides al cron que avise de que se ha ejecutado. Si no avisa a la hora prevista, el problema es él mismo. Crea un check en Cron-Ping, copia tu URL y añade un curl :
# antes: nunca sabes si se ejecuta
0 2 * * * /opt/backup.sh
# después: ping solo si el script tiene éxito
0 2 * * * /opt/backup.sh && curl -fsS https://cron-ping.com/p/<token>Distinguir éxito y fallo
0 2 * * * /opt/backup.sh && curl -fsS https://cron-ping.com/p/<token> || curl -fsS https://cron-ping.com/p/<token>/failSi backup.sh falla, llamamos a /fail y recibes una alerta inmediata, sin esperar al margen de gracia.
Comprobar que cron funciona bien
systemctl status cron # Debian/Ubuntu
systemctl status crond # RHEL/CentOS
grep CRON /var/log/syslogVigila este cron en 2 minutos con Cron-Ping
Empezar gratis