Cron job monitoring for missed scheduled runs
Cron job monitoring helps teams catch silent schedule failures — backups, reports, imports and maintenance scripts that stop running without a dashboard scream. Your cron calls a unique check-in URL after each successful run; SitePuls detects a missed run when that check-in does not arrive in time and alerts email, Telegram or webhook. SitePuls does not install or execute your crontab.
Why cron jobs fail silently
Exit codes land in logs nobody reads, disks fill, credentials expire, and the scheduler keeps a green calendar while work never finished. Waiting for a user complaint is too late.
Monitor missed cron runs
Expect a check-in on the job’s cadence. If the ping is missing after interval and grace, treat it as a missed run and notify the people who own that pipeline.
Add a check-in URL to a cron job
Create a heartbeat monitor, copy the URL, and call it at the end of a successful cron script. The technical check-in mechanism is explained on the heartbeat monitoring page.
Scheduled scripts and recurring jobs
Nightly cleanups, invoice exports, cache warmers and recurring workers are strong candidates — anything that must finish on a schedule even when no one watches a terminal.
Backup, report and import use cases
Backups that never ran, reports that never generated, and imports that stalled overnight show up as missing check-ins before finance or support opens a ticket.
Alerts for missed or recovered jobs
Missed-run and recovery notices use the same email, Telegram and webhook contacts as other monitors so on-call sees schedule gaps next to uptime incidents.
Cron monitoring workflow
Inventory critical cron entries, one monitor per job, attach owners’ contacts, then expand coverage. For step-by-step setup guidance, use the monitor cron jobs guide.
Operational value for teams
Developers, sysadmins, agencies and SaaS operators get a simple continuity signal for scheduled work without standing up a separate cron control plane.
What you can verify with SitePuls here
- Watches scheduled jobs, backups and imports that should report on time.
- Detects missed heartbeats when background work stops pinging.
- Alerts when cron jobs or workers stop reporting.
Where incident alerts can go
- Email addresses saved as alert contacts receive messages when incidents open or resolve (according to your notification settings).
- Telegram notifications via the SitePuls bot after you link a chat to an alert contact (including the bot /start flow for pending contacts).
- HTTPS webhooks that receive JSON with event type, monitor identifiers, status, timestamp, optional incident id, and a short message for generic integrations.
- Slack-compatible incoming-webhook formatting: alert contacts can use a dedicated mode so payloads match Slack-style incoming webhook expectations.
Practical monitoring guide
Example content below is illustrative — values are placeholders, not live customer data.
Commercial cron monitoring workflow
- List jobs that must run on schedule and who owns each one.
- Add a heartbeat ping at the end of each successful job.
- Route missed-heartbeat alerts to the same channel as uptime incidents.
Example heartbeat call (illustrative)
# After your cron job finishes successfully:
curl -fsS -X POST "https://heartbeat-endpoint.example/ping"
# Use the URL shown in your SitePuls heartbeat monitor — do not embed tokens in source code.
Common mistakes
- Relying on log files alone when nobody reads them daily.
- No alert when a job stops running but the website stays online.
- Heartbeats sent at job start instead of after successful completion.
Frequently asked questions
How does cron-job monitoring detect a missed run?
The job must call a check-in URL after success. If that request never arrives within the expected window plus grace, SitePuls can mark the monitor DOWN and alert you.
Does SitePuls execute cron jobs?
No. Your scheduler still runs the work. SitePuls only receives the completion check-in and alerts when it is missing.
Where should the check-in URL be added?
Call it at the end of a successful run — after the backup, report or import finishes — not at job start.
Can backup and report jobs be monitored?
Yes. Any scheduled script that can HTTPS-call the check-in URL after success is a fit, including backups and reports.
What happens when a cron job misses its expected run?
A missed check-in can open a DOWN incident and notify the monitor’s alert contacts so you can investigate early.
How often should a cron monitor expect a check-in?
Match the expected interval to the cron schedule and add grace for longer runs so normal duration does not look like a miss.
Can recovery alerts be sent?
Yes. When check-ins resume, recovery can notify the same email, Telegram or webhook contacts.
Is this suitable for jobs on another server?
Yes, as long as that server can reach the HTTPS check-in URL after the job succeeds.