O cron não reporta falhas. Um job quebra, o cronograma segue em frente, e você fica sabendo dias depois por um cliente. O Cronitorex espera um ping de cada execução e te alerta em 60 segundos quando um deles não chega.
Cada execução reporta run ao começar, depois complete ou fail ao terminar. Duas chamadas extras no seu crontab já bastam. Sem agente, sem daemon, nenhuma biblioteca para instalar.
A partir desses pings, o Cronitorex constrói uma linha do tempo por job: durações, exit codes, histórico de falhas. Uma execução que começa e nunca termina também conta como falha.
*/5 * * * * root cronitorex ping db-backup run; /opt/backup.sh && cronitorex ping db-backup complete || cronitorex ping db-backup fail
Um servidor que travou não envia nenhum ping fail. O Cronitorex conhece o intervalo esperado de cada job e espera um período de tolerância extra para absorver variações normais. Quando essa janela se fecha sem nenhum ping, você recebe um alerta de execução perdida.
Os dois valores são definidos por você, por monitor. Um backup noturno com 15 minutos de tolerância se comporta diferente de um job de sincronização que roda a cada 5 minutos com 60 segundos de tolerância.
O cliente cronitorex.sh envolve seu comando: envia run, executa o job, mede a duração, captura o exit code e as últimas linhas do stderr, e finaliza com complete ou fail. Você muda uma palavra no crontab, não o seu script.
Já tem um crontab completo rodando? O comando discover o lê e cria um monitor para cada job encontrado, com o horário tirado diretamente da expressão cron.
# envolva qualquer job: exit code, duração e stderr capturados cronitorex.sh run db-backup -- /opt/backup.sh # importe seu crontab existente como monitores cronitorex.sh discover /etc/crontab
Sim. Qualquer coisa capaz de enviar uma requisição HTTP pode fazer ping: timers do systemd, CronJobs do Kubernetes, tarefas do Airflow, GitHub Actions, Agendador de Tarefas do Windows. O Cronitorex só vê os pings, não o agendador por trás deles.
Cada ping é um evento: run, complete, fail ou skip. Um job que envia run e complete uma vez por hora produz cerca de 1.440 eventos por mês, então os 50.000 eventos do plano Free cobrem dezenas de jobs.
A API passa a retornar HTTP 402 e novos pings deixam de ser aceitos até o mês reiniciar ou você fazer upgrade de plano. Nada é apagado; o painel e seu histórico continuam disponíveis o tempo todo.
Cadastre-se, gere uma API key, cole o curl no seu cron. É só isso.