Skip to main content
Cron job monitoring

Your cron job didn't error. It just didn't run.

Cron doesn't tell you when a job silently stops firing — a bad deploy, a typo in the crontab, a server migration. Seiri watches for the ping your job should send, and alerts you the moment it's late.

Why cron jobs fail without anyone noticing

The crontab entry disappears

A server migration, a config management change, or a typo removes the line entirely. Cron doesn't log an error — it just never runs.

The script exits 0 but does nothing

A guard clause, an empty result set, or a bad config makes the script return success without doing the actual work.

The job hangs indefinitely

A lock file never releases, or a dependency stalls. The process is still "running" — forever — and never completes.

The server itself goes down

If the host is unreachable, cron never fires at all. There's no error to catch because nothing ran to produce one.

How Seiri catches it

1

Define the schedule

Create a monitor with the same cron expression (or interval) as your job, plus a grace period to absorb normal runtime variance.

2

Ping on success

Chain a curl request to the end of your job so it only pings when the script actually completes.

3

Get alerted when it's late

If the ping doesn't show up inside the grace period, Seiri fires an alert to Slack, email, SMS, or a webhook.

Add one line to your crontab
# Before
0 2 * * * /path/to/backup-script.sh
# After
0 2 * * * /path/to/backup-script.sh && curl -fsS https://ping.seiri.app/NkdyngWn9z

No outbound HTTP access? Send an email to your monitor's unique @ping.seiri.app address instead — see email heartbeat monitoring.

Common cron jobs teams monitor with Seiri

  • Database and file backups
  • Invoice and billing runs
  • ETL and data sync pipelines
  • Report generation and email digests
  • Certificate renewal and cleanup scripts
  • Kubernetes CronJobs

FAQ

How is cron job monitoring different from uptime monitoring?

Uptime monitoring polls a URL to see if a server responds. Cron job monitoring works the opposite way: your job pings Seiri when it finishes, and Seiri alerts you if that ping doesn't arrive on schedule — catching jobs that hang, fail silently, or never run at all.

Can I monitor multiple cron jobs on the same server?

Yes. Create one monitor per job, each with its own schedule and grace period, and add the matching ping to each cron entry.

What if my cron job runs on an irregular schedule?

You can define a monitor by cron expression or by a simple interval (e.g. every 6 hours), and set a grace period to account for normal runtime variance.

Does this replace my logging or error tracking?

No — it complements it. Error tracking tells you when code throws an exception. Seiri tells you when a job didn't run or didn't finish at all, which error tracking can miss entirely.

Stop finding out about missed jobs after the fact

Free forever. No credit card required.