Heartbeat monitoring for scheduled jobs and automations

Know when critical automations stop running.

Add a unique ping URL to your scheduled jobs. Receive alerts when cron jobs, backups, reports, scripts, or background tasks stop checking in.

bash - nightly-backup.sh
#!/bin/bashset -e /usr/bin/pg_dump -U postgres > backup.sql PING_URL="https://cronhealth.io/ping/your-monitor-token"curl -fsS "$PING_URL"
Ping received. Status: Healthy
Expected every 24h

Works with anything that can send an HTTP request

Linux cron Docker VPS scripts Symfony / Laravel Node.js

Why it matters

Your app can be online while your business quietly breaks.

Uptime monitoring checks if your server is online. CronHealth checks whether your scheduled jobs are still running successfully.

Backups stop running

A backup job silently fails for days. The server is healthy, but the safety net you rely on is gone.

Sync jobs disappear

Payment, CRM, analytics, or third-party API syncs stop checking in while the rest of the app looks normal.

Reports never send

Scheduled reports, exports, digests, or cleanup jobs can stop running without triggering application errors.

MVP features

Everything you need to monitor scheduled jobs.

CronHealth starts intentionally simple: create monitors, receive pings, track status, and get email alerts when something is late.

Unique ping URLs

Every monitor gets a secure URL. Call it only after your scheduled task completes successfully.

Intervals and cron expressions

Choose a preset interval or use a custom cron expression, then add a grace period for normal delays.

Email alerts

Receive alerts through Email, Slack, Discord, or Webhooks when a monitor becomes late and when it recovers.

Clear statuses

See whether a monitor is pending, healthy, late, or paused without digging through logs.

Recent ping history

Review recent executions, last ping time, next expected ping, and missed/recovered alert history.

Pause and resume

Temporarily pause monitors during maintenance or deployment windows and resume when ready.

Monitor anything that can make an HTTP request.

CronHealth does not run your jobs. Your automations stay in your environment. CronHealth simply waits for expected success pings and warns you when they stop arriving.

  • 1

    Create a monitor

    Name the job, choose how often it should run, and set a grace period.

  • 2

    Add the ping URL

    Call your unique URL at the end of the cron job, backup script, sync process, or scheduled command.

  • 3

    Get email alerts when late

    If the expected ping does not arrive after the grace period, CronHealth marks it late and sends an email.

# Daily backup at 03:00
0 3 * * * /app/bin/backup.sh && curl -fsS https://cronhealth.io/ping/your-monitor-token

Use cases

For the jobs you want to know are still alive.

Monitor the scheduled jobs that keep your business running.

Nightly backups

Know whether your backup script successfully checked in after running.

Payment and subscription syncs

Monitor recurring Stripe, Paddle, or external API sync jobs.

Invoice generation

Catch missing scheduled billing jobs before they become a customer or revenue problem.

Reports, exports, and digests

Make sure scheduled emails, exports, and internal reports continue checking in.

Cleanup and maintenance jobs

Track cleanup scripts, cache warmups, indexing jobs, and recurring maintenance tasks.

Small SaaS automations

A lightweight layer for founders who do not want to operate a full monitoring stack.

No SDK required. No agents. No installations. Just call one URL after your job succeeds.

Pricing that grows with your monitors.

Start free, then upgrade when you need more monitors, longer history, and additional alert destinations.

Free

Perfect for personal projects, hobby apps, and trying CronHealth.

$0/ month
  • 5 active monitors
  • 7 days history
  • 1 email destination
  • 50 email notifications/day
  • Unlimited Slack/Discord/Webhook notifications*
Start free
Popular

Starter

For indie hackers and small production projects.

$5/ month
  • 25 active monitors
  • 30 days history
  • 5 email destinations
  • 500 email notifications/day
  • 3 Slack destinations
  • 3 Discord destinations
  • 3 webhook destinations
  • Unlimited Slack/Discord/Webhook notifications*
Choose plan

Pro

For developers managing multiple projects and environments.

$12/ month
  • 100 active monitors
  • 180 days history
  • 20 email destinations
  • 1000 email notifications/day
  • 10 Slack destinations
  • 10 Discord destinations
  • 10 webhook destinations
  • Unlimited Slack/Discord/Webhook notifications*
Choose plan

FAQ

Built intentionally small first.

Is this only for cron jobs?

No. Cron jobs are the common starting point, but any scheduled task, script, command, or worker can call a ping URL after successful completion.

Does CronHealth run my jobs?

No. Your jobs keep running in your own infrastructure. CronHealth only receives success pings and alerts when expected pings stop arriving.

What alerts are supported now?

CronHealth supports Email, Slack, Discord, and Webhook notifications. More integrations may be added based on customer demand.

Why not just use uptime monitoring?

Uptime monitoring checks whether a service responds. CronHealth checks whether expected background executions are still reporting success.

Stop discovering silent failures days later.

Create your first monitor in under a minute and get notified when scheduled jobs stop checking in.

Create your free account