Know when a cron job stops or a site goes down.

Your job pings a URL when it runs, and Rippler checks your site on its own. If a ping is late or the site stops answering, you get an alert. One line in the crontab, nothing to install.

10 monitors free, forever. No credit card.

Nightly backup

Up

At 03:00 AM · next run in 6 hours

90 days agoToday
An example of 90 days for one monitor. The two red days are missed runs, which sent an alert. The amber days ran late but inside grace and sent nothing.

A cron job that stops running doesn’t raise an error. It doesn’t retry, page anyone or write to a log. You find out later, from whatever depended on it.

Start monitoring in three steps

Anything that can make an HTTP request can report to Rippler. There is no agent to run and no library to keep up to date.

  1. 01

    Add a ping to your job

    One curl after your command. Nothing to install on the server, and -m 10 keeps a slow network from holding your job open.

    0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 -o /dev/null https://api.rippler.io/ping/7gM7Qy7/
  2. 02

    Say when to expect it

    Enter the cron expression and read it back in plain English, with the next three runs. Then set a grace period for the normal variation in when your job finishes.

    Schedule0 3 * * *UTC

    At 03:00 AM, every day (UTC)

    Next expected pings, in your local time

    Tue, 2 Sep, 03:00 · in 6 hours

    Wed, 3 Sep, 03:00 · in 1 day

    Thu, 4 Sep, 03:00 · in 2 days

    The form reads the expression back as you type, so a typo is caught before it causes a missed alert.
  3. 03

    Track duration and failures

    Ping /start before the work and Rippler measures how long each run takes. A failing job can report /fail, and a run id keeps the timings right even when runs overlap.

    RID=$(uuidgen)
    curl -fsS -m 10 -o /dev/null "https://api.rippler.io/ping/7gM7Qy7/start/?rid=$RID"
    /usr/local/bin/backup.sh
    curl -fsS -m 10 -o /dev/null "https://api.rippler.io/ping/7gM7Qy7/?rid=$RID"

See every job’s state at a glance

Cron monitors are checked once a minute. A late job stays late until the grace you set runs out, so normal variation does not trigger an alert.

Up
The last run finished and pinged.
Running
A start ping arrived. The run is still going.
Late
The ping is overdue but still inside the grace you set.
Down
Grace ran out, or the job reported a failure itself.
Waiting
Created, and nothing has pinged it yet.
Paused
Paused by you. It will not alert.

Alerted for outages, not for flakes

You decide how many failures in a row it takes, where the alert goes, and whether to be reminded while the job stays down.

A single failure sends nothing
Set how many consecutive failures count as an outage. A job that fails once and recovers on its own does not alert.
You hear when it recovers
When the job runs again you get a recovery alert, so nobody has to check whether it is still broken.
Email, Slack and Discord
Alerts go to everyone on the team by email. Add a Slack or Discord webhook per project to post them to a channel as well.

What arrives

Nightly backup is down

Expected a ping at 03:00 AM. Nothing arrived within the fifteen minute grace, and the two runs before it failed too.

Up03:00

The run finished and pinged. Nothing to do.

Late03:04

Nothing arrived yet, but still inside the fifteen minute grace.

Down03:15

Grace ran out. An alert is sent.

Up
Late
Down
Example alert for a missed nightly backup.

Monitor your whole crontab at once

rippler sync reads the crontab, creates a monitor for every job that has none, and rewrites those lines to run under it. It prints the plan first and backs the crontab up before changing it. Running it again leaves already wrapped lines alone.

$ rippler sync --dry-run

  create  0 3 * * *    backup.sh
  create  @daily       cleanup.sh
  keep    */5 * * * *  already monitored
  skip    @reboot      no schedule to expect pings against

The CLI is a single binary with no Node, Bun or npm dependency, so it runs on the same machine as your cron jobs.

Priced by monitor count only

Both plans include unlimited team members, every alert channel, the API and the CLI. Upgrade only when you need to watch more jobs.

Indie

Free

10 monitors. Every feature. No card required.

Business

$25 a month

100 monitors. Every feature. One flat price.

Going over the limit does not stop existing monitors. You cannot add another until you are back under it.

Websites too

A website monitor requests a URL on an interval, every minute at most, and alerts you when it stops answering: a bad status, a timeout, or a DNS or certificate error. A failed check is retried once before it counts. SSL expiry warnings and public status pages are not built yet.

example.com

Up

Checked every minute

  • 14:05Up310 msHTTP 200
  • 14:04Down120 msHTTP 502
  • 14:03Down—Timed out after 10s
  • 14:02Up290 msHTTP 200
Example checks for one website, newest first. It went down at 14:03, which sent one alert, and the recovery went out at 14:05.

Get alerted the next time a job stops.

Monitor up to 10 jobs free. No installation and no credit card required.