Practical use cases

Monitor the automations that keep your business moving.

CronHealth is useful anywhere a scheduled task should report success: backups, sync jobs, invoices, reports, emails, cleanup scripts, imports, and more.

Common scenarios

Start with the jobs you would hate to discover late.

The best first monitors are the automations where failure is silent, delayed, or expensive.

Nightly backups

Know whether your database or file backup job completed and checked in after running.

0 3 * * * backup.sh && curl https://cronhealth.io/ping/token

Payment and subscription syncs

Monitor recurring syncs with Stripe, Paddle, billing systems, CRMs, or third-party APIs.

*/15 * * * * sync-billing && curl https://cronhealth.io/ping/token

Invoice generation

Catch silent billing automation failures before missing invoices become a revenue problem.

0 4 * * * generate-invoices && curl https://cronhealth.io/ping/token

Reports and exports

Make sure daily reports, CSV exports, analytics snapshots, and customer digests still run.

0 8 * * * send-report && curl https://cronhealth.io/ping/token

Scheduled emails

Monitor newsletters, reminders, daily summaries, onboarding emails, and internal notifications.

0 9 * * * send-digest && curl https://cronhealth.io/ping/token

Cleanup and maintenance

Track cache warmups, queue cleanup, temporary file deletion, indexing jobs, and maintenance scripts.

0 */6 * * * cleanup.sh && curl https://cronhealth.io/ping/token

For small SaaS teams

When the app is online, but the workflow is broken.

Many small SaaS incidents are not full outages. Users can still log in, pages still load, and infrastructure looks healthy — but a background automation silently stopped doing its job.

Customer data stops syncing

External CRM, payment, or analytics jobs stop processing new data.

Revenue workflows fail silently

Invoices or subscription syncs fail without taking your website down.

Internal reports disappear

Nobody notices until a stakeholder asks where the report is.

small SaaS monitor examples
# Subscription sync every 15 minutes
*/15 * * * * php bin/console app:sync-subscriptions \
  && curl https://cronhealth.io/ping/subscription-sync

# Invoice generation every morning
0 4 * * * php bin/console app:generate-invoices \
  && curl https://cronhealth.io/ping/invoices

# Daily customer report
0 8 * * * php bin/console app:send-daily-report \
  && curl https://cronhealth.io/ping/daily-report

By environment

Use CronHealth wherever scheduled work runs.

Linux servers

Traditional crontab jobs on VPSs, dedicated servers, or internal machines.

Docker containers

Containerized cleanup, import, sync, or maintenance jobs.

App commands

Symfony, Laravel, Node.js, Python, or custom app-level scheduled commands.

CI workflows

Scheduled GitHub Actions or other CI jobs that should run repeatedly.

The best first monitor is usually a backup.

Backups are easy to forget because nothing looks broken when they stop. Start by monitoring one backup job, then add billing, sync, and reporting jobs later.

Monitor name
Nightly Database Backup
Expected schedule
0 3 * * *
Grace period
30 minutes
backup.sh
#!/bin/bash
set -e

# Create backup
pg_dump -U postgres app_db > /backups/app_db.sql

# Upload backup
rclone copy /backups remote:backups

# Ping CronHealth after success
curl -fsS -m 10 --retry 3 \
  https://cronhealth.io/ping/your-monitor-token

Choosing what to monitor

A simple rule for deciding.

If you would be unhappy discovering it failed three days later, it deserves a monitor.

Silent failure

The app keeps working, but the background job stops.

Delayed discovery

Nobody notices until data, reports, or backups are missing.

Business impact

The failure affects revenue, customers, operations, or recovery.

Start with one critical automation.

Create a monitor for a backup, sync, invoice job, or report and see whether it keeps checking in.

Start free