Cron job monitoring that catches silent failures
Cron jobs don't serve a web page, so when they quietly stop — a full disk, an expired credential, a server that never came back after a reboot — nothing tells you. The backup you needed simply isn't there. Cron job monitoring flips the direction: instead of you checking the job, the job checks in with Moonitor, and we raise the alarm when it doesn't.
Moonitor's heartbeat monitors watch nightly backups, ETL pipelines, queue workers, certificate renewals, report generators — anything that runs on a schedule and used to fail in the dark.
7-day free trial — no credit card.
How it works
Create a heartbeat monitor
Tell Moonitor how often the job should run — every five minutes, nightly, weekly — and how much grace to allow before a late run counts as a failure.
Get a unique ping URL
Every heartbeat monitor gets its own URL. No agent to install, no library to import — the check-in is one HTTP request.
Add one line to your job
Append a curl call to the end of the cron entry, or hit the URL from your task's own code when it finishes successfully.
We watch the clock
If the expected check-in doesn't arrive inside the window plus grace period, the monitor goes down and your alerts fire — email, Slack, Discord, Telegram or webhooks.
What you get
Expected schedule + grace period
Match the monitor to the job: a 60-second worker and a monthly report each get their own window, so neither false-alarms.
One URL per job
Works from crontab, systemd timers, GitHub Actions, Kubernetes CronJobs, or any code that can make an HTTP request.
Recovery alerts, paired
When check-ins resume you get an explicit "up" — sent to the same contacts who heard about the failure, so threads close.
Incident history
Every missed run becomes an incident with start, end and duration, so you can see whether a job is flaky or broken.
Alerts where you work
Email, webhooks, Slack, Discord and Telegram — with per-contact failure thresholds to keep the signal clean.
API-manageable
Create and manage heartbeat monitors from the REST API, so provisioning a new job can provision its monitoring too.
Frequently asked questions
- How do I monitor a cron job?
- Create a heartbeat monitor in Moonitor, set the expected interval, and add a curl request to the monitor's unique URL at the end of your cron entry. If the ping doesn't arrive on schedule, Moonitor alerts you.
- What kinds of scheduled jobs can I monitor?
- Anything that can make an HTTP request when it finishes: crontab entries, systemd timers, Kubernetes CronJobs, CI pipelines, queue workers, backup scripts, ETL and data-sync jobs.
- What happens if my job runs late but not never?
- Each monitor has a configurable grace period on top of its expected interval. A run that arrives inside the grace window stays green; one that misses it opens an incident and alerts you.
- Do I need to install an agent?
- No. Heartbeat monitoring is agentless — the check-in is a single HTTP GET to a unique URL, from whatever already runs your job.
Every failure verified before you’re alerted
Moonitor re-runs every failing check from a second country before opening an incident — so a network wobble near one checker never becomes a false alarm on your phone. Explore the full feature set, read the docs, or automate it all with the API.
Get started