Monitor certificate renewals and maintenance scripts

Make sure certbot renew, log rotation, and cleanup jobs actually ran — and hear about it when they don't.

The problem

Maintenance cron is the easiest to forget and the worst to have fail. A certbot renewal that silently stops doesn't surface until certificates expire and your site goes down for everyone at once. The same goes for log rotation, disk cleanup, and antivirus scans — invisible until they aren't.

How SteadyCron solves it

  1. 1 Create a heartbeat check for each maintenance task on its real schedule (certbot timers, weekly rotations, nightly cleanups).
  2. 2 Ping on success at the end of the task; ping /fail if the command returns non-zero.
  3. 3 Set a grace period so a slightly delayed run doesn't alert, but a missed one does.
  4. 4 Get notified days before a certificate would actually expire — with time to fix it calmly.
# /etc/cron.daily/certbot-renew
TOKEN=<your-ping-token>
if certbot renew --quiet; then
  curl -fsS https://ping.steadycron.com/$TOKEN
else
  curl -fsS https://ping.steadycron.com/$TOKEN/fail
fi
app.steadycron.com/jobs

Jobs

New job
Search jobs…
All HTTP Heartbeat
Status Group: env
env:prod 5 jobs 1 failing
weekly-digest-email HTTP 0 9 * * 1 in 2 days 3 days ago
nightly-db-backup Heartbeat 0 2 * * * in 19 h 5 h ago
stripe-reconciliation HTTP 0 */4 * * * in 38 min 3 h ago
cache-warmup HTTP */15 * * * * in 11 min now
search-index-sync Heartbeat */30 * * * * in 6 min 24 min ago
env:dev 3 jobs
seed-test-data HTTP 0 4 * * * in 14 h 10 h ago
preview-env-cleanup Heartbeat 0 */6 * * * in 2 h 4 h ago
trial-expiry-sweep HTTP 0 6 * * * yesterday

Every job's status, schedule, and last run — at a glance.

Turn a future outage into a calm ticket

The whole point is lead time. A missed renewal three days before expiry is a five-minute fix; the same renewal discovered at expiry is an all-hands outage. SteadyCron gives you the former.

Works for anything on a timer

certbot, logrotate, disk cleanup, backups verification, reindex jobs — if it runs on a schedule and matters when it stops, give it a heartbeat.

Related documentation

Stop finding out the hard way

Start on the free tier — no credit card required.

Start free