Cron job monitoring

Your cron failed at 3 AM. Find out at 3:01.

Cron does not report failures. A job crashes, the schedule moves on, and you learn about it days later from a customer. Cronitorex expects a ping from every run and alerts you within 60 seconds when one does not arrive.

db-backup last 30 runs · one silent failure caught

Three states cover the whole run

Every run reports run when it starts, then complete or fail when it ends. Two extra calls in your crontab are enough. No agent, no daemon, no library to install.

From those pings Cronitorex builds a timeline per job: durations, exit codes, failure history. A run that starts and never ends counts as a failure too.

/etc/crontab
*/5 * * * * root cronitorex ping db-backup run; /opt/backup.sh && cronitorex ping db-backup complete || cronitorex ping db-backup fail

Silence is also a failure

A crashed server sends no fail ping. Cronitorex knows the expected interval of every job and waits one extra grace period to absorb normal jitter. When that window closes without a ping, you get a missed run alert.

Both values are yours to set per monitor. A nightly backup with a 15 minute grace period behaves differently than a sync job that runs every 5 minutes with a 60 second one.

invoice-sync every 5 minutes, on schedule
nightly-backup one late run, one missed, one alert

One wrapper instead of three pings

The cronitorex.sh client wraps your command: it sends run, executes the job, measures the duration, captures the exit code and the last lines of stderr, then finishes with complete or fail. You change one word in the crontab, not your script.

Already running a full crontab? The discover command reads it and creates a monitor for every job it finds, with the schedule taken straight from the cron expression.

bash
# wrap any job: exit code, duration and stderr captured
cronitorex.sh run db-backup -- /opt/backup.sh

# import your existing crontab as monitors
cronitorex.sh discover /etc/crontab

Common questions about cron monitoring

Does it work with schedulers other than cron?

Yes. Anything that can send an HTTP request can ping: systemd timers, Kubernetes CronJobs, Airflow tasks, GitHub Actions, Windows Task Scheduler. Cronitorex only sees the pings, not the scheduler behind them.

What counts as an event?

Every ping is one event: run, complete, fail or skip. A job that sends run and complete once an hour produces about 1,440 events per month, so the 50,000 events on the Free plan cover dozens of jobs.

What happens when I hit my event quota?

The API starts returning HTTP 402 and new pings are not accepted until the month resets or you upgrade. Nothing is deleted; the dashboard and your history stay available the whole time.

Start monitoring in 60 seconds

Sign up, get an API key, paste the curl into your cron. That's it.