Cron Monitoring. Get Notified When Your Cron Jobs Fail.

Make a HTTP GET request to this address from your cron job, daemon, script or long running task. When this address is not requested for a set time period, you will get alerted. Below are snippets that are ready to be copy/pasted into your own scripts.

Here's an unique ping address for you:

# m h dom mon dow command
  8 6 *   *   *   /home/user/backup.sh && curl -fsS --retry 3 https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28 > /dev/null
# using curl:
# (make sure it is installed on your system!)
curl --retry 3 https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28
# using wget:
wget https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28 -O /dev/null
# using urllib2:
import urllib2
urllib2.urlopen("https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28")
# using requests:
import requests
requests.get("https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28")
var https = require('https');
https.get("https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28");
file_get_contents('https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28');
// the server returns appropriate CORS headers so cross-domain AJAX requests should work:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28', true);
xhr.send(null);
# inside a PowerShell script:
Invoke-RestMethod https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28
# Without an underlying script, passing the command to PowerShell directly:
powershell.exe -command &{Invoke-RestMethod https://hchk.io/d3a8e840-8c07-4106-90b8-c96c35925a28}

As an alternative to HTTP/HTTPS requests, you can "ping" this check by sending an email message to d3a8e840-8c07-4106-90b8-c96c35925a28@hchk.io

E-mail Address to Receive Alerts:

@

A quick peek of what's inside:

My Checks page

A list of your checks, one for each Cron job, daemon or periodically running task you want to monitor.

Give names to your checks to easily recognize them later. Adjust Period and Grace time to match the periodicity and duration of your tasks.

Period/Grace Time dialog
Each check has configurable Period and Grace Time parameters. Depending on these parameters and time since the last ping, the check is in one of the following states:
New. A check that has been created, but has not received any pings yet.
Up. Time since last ping has not exceeded Period.
Late. Time since last ping has exceeded Period, but has not yet exceeded Period + Grace.
Down. Time since last ping has exceeded Period + Grace. When check goes from "Late" to "Down", healthchecks.io sends you a notification.
Cron dialog

Alternatively, you can define the expected ping dates and times using a cron expression. See Cron Syntax Cheatsheet for the supported syntax features.

Grace Time specifies how "late" a ping can be before you will be alerted. Set it to be a little above the expected duration of your cron job.

Channels page

You can set up additional ways to get notified:

Email icon Good old email messages.
Email icon SMS text messages.
Webhook icon HTTP webhooks.
Slack icon Notifications in Slack channel.
Pushover icon Instant push notifications with Pushover.
Pushbullet icon Instant push notifications with Pushbullet.
Telegram icon Notifications to a Telegram group or user.
PagerDuty icon Open and resolve incidents in PagerDuty.
HipChat icon Notifications in HipChat channel.
VictorOps icon Open and resolve incidents in VictorOps.
Discord icon Notifications in Discord channel.
OpsGenie icon Open and resolve incidents in OpsGenie.