Cron job monitoring that tells you when a job stops running
Backups, invoice emails, data syncs — when a scheduled job breaks, nothing tells you. Give each job a check-in URL, and Uptura alerts your team the moment a run is missed or reports a failure.
or try the free Cron Expression Generator — no sign-up required
Cron jobs
4 jobs · checking in
- Nightly database backupdaily · 02:00on time
- Invoice emailshourlyon time
- Search index syncevery 15 minmissed
- Cache cleanupevery 5 minon time
Why it matters
Scheduled jobs fail without making a sound
Uptime monitoring can't see a backup that didn't run or a queue that stopped draining — the website is still up. Cron job monitoring watches the jobs themselves, so a missed run is caught in minutes, not discovered weeks later.
Silent
is how cron jobs fail
A job that never runs doesn't throw an error anyone sees. The site stays up, the dashboard stays green, and the work just stops happening.
Days
before anyone notices
A missing backup is usually found when you need to restore one. A sync that stopped shows up as stale data a week later — long after it could have been fixed.
One line
is all it takes
Adding a check-in call to the end of a job takes a minute. From then on, every run that doesn't happen is an alert instead of a surprise.
What you get
Everything a cron job monitoring tool should do
Heartbeat monitoring for every scheduled job — backups, reports, syncs, queues — with alerts when a run is missed or fails, and a history that shows how each job is behaving.
One check-in URL per job
Each job gets its own private URL. Call it with curl, PowerShell, Node, Python, or PHP when the job finishes — no agent, no SDK, works anywhere your job runs.
Missed check-in alerts
Tell Uptura how often the job runs and how much slack to allow. If a check-in doesn't arrive in time, you're alerted — the job is either stuck, failing, or never started.
Report failures instantly
Add /fail to the URL when your script catches an error, and Uptura opens an incident straight away instead of waiting for the next check-in to be missed.
Grace periods, no false alarms
Jobs rarely finish at the same second every time. A grace period gives slow runs room, so a backup that takes ten minutes longer tonight doesn't wake anyone up.
Check-in history
See every check-in on a chart — on time, late, or failed — with the interval between runs, so you can spot a job that's drifting before it breaks.
Recovery alerts and incidents
When the job checks in again you get a recovery notice, and every missed run is logged as an incident with how long it lasted — next to your other website checks.
How it works
Add a job, add one line, get alerted
Cron monitoring should take a minute to set up. Uptura doesn't need access to your server — your job simply checks in each time it runs.
- 1
Add a cron job
Name it, pick how often it runs (from every minute to once a week), and choose a grace period. Uptura gives you a check-in URL.
- 2
Call the URL when it finishes
Add one line to the end of your job — for example “&& curl -fsS https://…/hb/<token>” in your crontab. Each run checks in.
- 3
Get alerted if a run is missed
If a check-in doesn't arrive within the interval plus grace period, or the job reports a failure, your team is alerted by email or Slack.
One platform
Cron jobs are just one signal Uptura watches
A backup that runs on time doesn't help if the site is down or the certificate expired. Uptura pairs cron job monitoring with uptime, SSL, DNS, API, SEO, performance, and accessibility checks — so every part of a website's health lives in one dashboard and one alert stream.
Uptime Monitoring
Around-the-clock scheduled checks catch outages the instant they happen — before your customers do.
SSL & Domain
Track SSL certificate, issuer, and domain expiry across every site, with alerts well before anything lapses.
DNS Monitoring
Watch DNS records for unexpected changes, hijacks, and misconfigurations in real time.
API & Endpoint
Test REST endpoints for status codes, latency, and JSON validity — and watch business-critical endpoints separately.
SEO Monitoring
Catch metadata, canonical, robots.txt, and sitemap regressions that quietly tank rankings — the moment they ship.
Core Web Vitals
Track LCP, CLS, and TBT over time with PageSpeed Insights scans, and get alerted when performance regresses.
Accessibility
Continuous WCAG and Axe scans with historical reports, so accessibility regressions get caught — not shipped.
Plus everything else that keeps a website healthy
- Domain & WHOIS monitoring
- robots.txt monitoring
- Sitemap monitoring
- Lighthouse scans
- Email, Slack & Discord alerts
- White-label PDF reports
- Scheduled client reports
FAQ
Cron job monitoring, answered
What is cron job monitoring?
Cron job monitoring checks that your scheduled jobs actually run. Instead of watching a website, it waits for your job to check in: each run calls a unique URL when it finishes, and if a check-in doesn't arrive on time, you get an alert. It catches the failures nothing else sees — a backup that silently stopped, an invoice email that never went out, a sync that hung.
How does heartbeat monitoring work?
Heartbeat monitoring flips normal monitoring around. Uptura doesn't call your system — your job calls Uptura. You set how often the job runs and a grace period; every check-in resets the timer. If the timer runs out (last check-in + interval + grace) with no check-in, Uptura marks the job as missed and alerts you. The next successful check-in closes the incident.
How do I check if a cron job is running?
On the server you can look at the cron log (for example “grep CRON /var/log/syslog”) or have the job write to its own log file — but that only helps if someone looks. The reliable way is a cron job checker that alerts you: add a check-in call to the end of the job, and Uptura tells you the moment a run doesn't happen.
My cron job is not running — how would I find out?
Usually from a customer, or days later when the data is already missing. Common causes are a changed path or environment variable, a server reboot, a full disk, or a crontab that was overwritten. With cron monitoring you find out within minutes: the missed check-in raises an alert, and the check-in history shows exactly when the job last ran.
Can I use it for backup monitoring?
Yes — backups are the most common use. Add the check-in call after the backup command succeeds (“backup.sh && curl …”), so a failed or skipped backup never checks in and you're alerted. Use a grace period a little longer than the backup normally takes.
What is a grace period?
It's extra time Uptura waits after a check-in is due before alerting. A job that runs every day with a 30-minute grace period is only flagged if no check-in arrives within 24 hours and 30 minutes of the last one — so a slow run isn't treated as a failure.
Does it work with Windows Task Scheduler, Kubernetes CronJobs, or Laravel?
Yes. Anything that can make an HTTP request can check in: crontab, Windows Task Scheduler (PowerShell “Invoke-RestMethod”), Kubernetes CronJobs, GitHub Actions schedules, Laravel's scheduler, Sidekiq or Celery tasks, or a plain script. There's nothing to install.
Is cron job monitoring free?
Yes. The free plan includes 3 cron job monitors with intervals from 15 minutes up, alongside uptime, SSL, DNS, and the rest of Uptura's checks. Pro ($19/mo) includes 20 cron jobs checked as often as every minute, and Scale ($49/mo) includes 100.
Free tool · no sign-up
Try the Cron Expression Generator free
Generate a cron expression, or translate one to plain English with its next run times.
Know a job stopped before the data goes missing
Start free today — cron job monitoring is live alongside uptime, SSL, DNS, API, and more on one platform.
Free forever · no credit card required