Cron-Ping
EntrarComeçar grátis

Monitorar um cron do Linux

O problema clássico com cron : quando um job falha ou para de rodar, ninguém é avisado. O email local do cron acaba parando em/var/mail que ninguém lê. Resultado: um backup quebrado silenciosamente há 3 semanas, que você descobre no dia em que precisa dele.

Por que os crons falham em silêncio

Procura a linha do crontab em si: flags do curl, escapar o %, evitar sobreposição? Ver o guia de cron a cada 5 minutos.

A solução: um dead man's switch

Em vez de monitorar o servidor, você pede pro cron sinalizar que rodou. Se ele não sinaliza na hora esperada, é ele mesmo o problema. Crie um check no Cron-Ping, pegue sua URL e adicione um curl :

# antes: você nunca sabe se está rodando
0 2 * * * /opt/backup.sh

# depois: ping apenas se o script tiver sucesso
0 2 * * * /opt/backup.sh && curl -fsS https://cron-ping.com/p/<token>

Distinguir sucesso de falha

0 2 * * * /opt/backup.sh && curl -fsS https://cron-ping.com/p/<token> || curl -fsS https://cron-ping.com/p/<token>/fail

Se backup.sh falha, a gente chama /fail e você recebe um alerta imediato, sem esperar o período de tolerância.

Verificar se o cron está rodando direito

systemctl status cron      # Debian/Ubuntu
systemctl status crond     # RHEL/CentOS
grep CRON /var/log/syslog

Monitore esse cron em 2 minutos com o Cron-Ping

Começar grátis