Cron job and backup monitoringFind out when a job stops running.

A job that crashes leaves an error. A job that never starts leaves nothing. Heartbeats alert on the silence.

Heartbeats are on the Solo plan and up. Compare plans

How do you get alerted when a cron job stops running?

A URL your job calls when it finishes. If the call doesn't come in time, you hear about it.

The job needs no library and no agent, only one HTTPS request at the end.

crontab
0 3 * * *  /usr/local/bin/backup.sh && \  curl -fsS https://acciti.com/v1/heartbeats/$HEARTBEAT_TOKEN/ping

The && pings only when the backup succeeds, so a failed run counts as a missed one.

What does Acciti do when a check-in is late?

It raises one alert, with the same priorities, sounds and escalation policies as anything else you send. A job that has been down since Tuesday is one problem, so you hear about it once.

When the job checks in again, you get a quiet note saying how long it was gone.

Set the slack you need

A backup that sometimes runs until four isn't late at three. Give it a grace period that matches how it really behaves.

Any HTTP client can ping

GET or POST, no headers, no body. curl in a crontab, a step in a GitHub Action, a systemd timer or a script.

It can wake someone else

Attach an escalation policy, and a missed check-in during your holiday reaches whoever is on call.

See what's due

The dashboard shows each job's last check-in and how long it has until the next one is due.

What should have a heartbeat on it?

Anything that runs on a schedule, where you'd want to know within hours if it stopped.

Web servers are better watched from outside by an uptime monitor. Send its alerts here with a connector.

  • Nightly backups and restores
  • Certificate renewals
  • Billing reconciliation
  • Data exports
  • Queue workers
  • Scheduled syncs

Questions

What is a heartbeat check?
A URL your job calls each time it finishes. If no call arrives within the interval plus the grace period you set, Acciti alerts you. It catches the cron job or backup that quietly stopped running.
How do I monitor a cron job that fails silently?
Put the ping at the end of the command, after &&, so it only runs when the job succeeds. A missing ping then means the job failed or never ran.
What happens when a job checks in late?
You get one alert, with the same priorities and on-call policies as any other. When the job checks in again, a quiet note tells you how long it was gone. Routine pings make no sound.
Is the heartbeat URL a secret?
Yes. Anyone holding it can keep a missed check-in quiet. It can't read your data, send messages or make your phone ring.

Put one at the end of the backup.

Sign in, add a heartbeat and paste its URL at the end of the job. If it stops running, you'll know that night.