Cron job monitoring

Know when a cron job did not run.

Backups, imports and cleanup jobs fail silently: no error page, no alert, just missing data a week later. A heartbeat monitor expects a ping from your job on schedule and alerts you when it does not arrive.

Monitor your cron jobs

At a glance

  • Any schedule : Expect a ping every minute or once a month: the interval runs from 1 minute to 30 days.
  • Grace period : A grace period of up to one day absorbs slow runs, so a job that takes longer tonight does not page anyone.
  • Alerts where you work : Missing pings open an incident and run your workflows: email, Slack, Teams, Discord, Telegram, PagerDuty or SMS.
  • One line of code : Each monitor gets its own URL. Call it with curl, wget, PowerShell or any HTTP client at the end of the job.

How heartbeat monitoring works

A normal uptime check calls your server. A heartbeat monitor works the other way round: your job calls m0nitor when it has finished. You set how often that should happen and how much delay is acceptable.

If the next ping is late by more than the grace period, the monitor goes down, an incident opens and your alert workflow runs. When the job pings again, the monitor recovers and the incident records how long the job was missing. This is also called a dead man's switch.

What to monitor with heartbeats

  • Database and file backups that must finish every night
  • Imports, exports and data syncs between systems
  • Queue workers and schedulers such as Laravel scheduler, Sidekiq or Celery beat
  • Kubernetes CronJobs and systemd timers
  • Scheduled CI pipelines and report generation
  • Certificate renewals and other maintenance scripts

Add one line to your job

Ping the monitor only when the job succeeded, so a failed run counts as missing.

# crontab: back up at 03:00, then report success

0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 https://m0nitor.com/api/heartbeat/YOUR-TOKEN > /dev/null

Set up in three steps

  • Create a heartbeat monitor : Choose the expected interval and the grace period. m0nitor shows the ping URL right away.
  • Call the URL from your job : Add a curl call after the last command, or a request from your code, with GET or POST.
  • Route the alert : Pick who hears about a missed run in a workflow, or keep the default email alert.

Plan availability

Heartbeat monitors are part of the Business and Enterprise plans. Uptime checks for websites, APIs and servers start on the free plan.

Related pages

  • Uptime monitoring : All check types in one place
  • Alert workflows : Decide who gets paged and when
  • Heartbeat monitoring for cron jobs : A practical guide with examples

Frequently asked questions

What is the difference between a heartbeat and an uptime check?

An uptime check calls your service from outside. A heartbeat waits for your job to call m0nitor. Use uptime checks for things that answer requests and heartbeats for things that run on a schedule.

What happens if a job runs late?

Nothing, as long as the ping arrives within the expected interval plus the grace period. Only a ping that is later than that marks the monitor as down.

Can I see when a job last ran?

Yes. The monitor shows the time of the last ping and the history of missed runs, and the incident timeline records how long a job was missing.

Do I need to install anything?

No. Any tool that can send an HTTP request works: curl, wget, PowerShell, or a request from your application code.

Product

  • Pricing
  • Features
  • Integrations
  • Security
  • Free network check

Features

  • Uptime monitoring
  • Status pages
  • Alert workflows
  • Incident management
  • Dependencies
  • AI assistant
  • Global infrastructure
  • On-call schedules
  • Enterprise SSO

Use cases

  • Websites for free
  • Cron jobs
  • SSL certificates
  • Databases
  • IP blacklists
  • GDPR compliance

Resources

  • What is a status page?
  • Documentation
  • API
  • MCP server
  • Monitoring glossary
  • Free tools
  • SLA calculator
  • SSL checker
  • DNS lookup
  • Blog
  • Changelog
  • About
  • Contact

Compare

  • Free uptime monitoring
  • UptimeRobot
  • Better Stack
  • Pingdom
  • StatusCake
  • Uptime Kuma
  • Hyperping
  • Atlassian Statuspage
  • Instatus
  • Cachet
  • Freshping