Simple Ping
All guides

Heartbeat monitoring for backups, cron jobs, and private services

Be notified when a scheduled job or private service stops reporting success.

Create a heartbeat checker

In Add checker, choose Heartbeat, then enter a display name, an optional group, the expected interval, and a grace period. The form uses whole minutes: one minute to 30 days for the interval, and zero to 24 hours for grace. Save and copy the private URL containing its UUID. A GET or POST request to that URL reports success, with no custom header or request body. For the examples below, set Expected every to 5 minutes and Grace period to 2 minutes, and replace the entire sample URL with yours.

Arm it with the first success report

A new heartbeat waits without generating DOWN alerts until the first valid report. Each report restarts the interval plus grace. When the deadline passes, the regular consecutive-down threshold applies during the scheduled checker runs. A new success report allows the worker to record recovery. The dashboard refreshes the last report time and state.

Linux: send a heartbeat every five minutes

On a Linux machine with curl and a running cron service, first test your URL in a terminal. An accepted report returns HTTP 204 with an empty body, so a successful command prints nothing. This first report starts monitoring.

curl --fail --silent --show-error --connect-timeout 5 --max-time 15 --output /dev/null 'https://simple-ping.com/heartbeat/YOUR-UUID'

Run crontab -e and add the following line without removing your existing entries. Cron starts a short-lived process every five minutes, even after the terminal is closed.

*/5 * * * * /usr/bin/curl --fail --silent --show-error --connect-timeout 5 --max-time 15 --output /dev/null 'https://simple-ping.com/heartbeat/YOUR-UUID' >/dev/null 2>&1

Change */5 to */1, */2, */10, */15, */20, or */30 for another evenly spaced minute schedule, and match Expected every in Simple Ping. Minute steps restart each hour; they are not an arbitrary elapsed-time timer. Use command -v curl to confirm the executable path. Check the installed schedule with crontab -l; to stop it, edit out only this line.

Cron scheduling reference

Windows: create a repeating scheduled task

On Windows 10/11 or Windows Server with curl.exe installed, open Command Prompt as administrator. The command below creates a task every five minutes under the local SYSTEM account, without storing a login password. It continues after signing out and resumes its schedule when Windows is running again.

schtasks /Create /TN "Simple Ping heartbeat" /SC MINUTE /MO 5 /RU SYSTEM /TR "%SystemRoot%\System32\curl.exe --fail --silent --show-error --connect-timeout 5 --max-time 15 --output NUL https://simple-ping.com/heartbeat/YOUR-UUID"

Replace /MO 5 with the number of minutes between runs and match Expected every in Simple Ping. If curl.exe is installed elsewhere, use its full path. These commands test the task immediately and show its last result; a successful curl run returns 0.

schtasks /Run /TN "Simple Ping heartbeat"
schtasks /Query /TN "Simple Ping heartbeat" /V /FO LIST

Wait for the task to finish before checking Last Result. In Task Scheduler, review the Conditions tab if the computer should report while on battery power. No reports are sent while the computer is off or asleep, so allow grace for normal delays or set maintenance before planned downtime. To remove this task, run:

schtasks /Delete /TN "Simple Ping heartbeat"

Windows Task Scheduler command reference

Report only after a successful backup

For a daily backup, choose 1440 minutes plus enough grace for normal completion-time variation. In a Linux shell or Windows Command Prompt, && sends the heartbeat only when the preceding command succeeds. Replace the backup command and URL below. Use this inside the actual backup job instead of also sending unconditional scheduled heartbeats to the same checker, which could hide a failed backup.

your-backup-command && curl --fail --silent --show-error --connect-timeout 5 --max-time 15 "https://simple-ping.com/heartbeat/YOUR-UUID"

API documentation for heartbeat management

Monitor private systems through an outbound report

Only outbound HTTPS access is needed, including from behind a VPN. An unconditional scheduled report proves the computer can run that task and reach Simple Ping; it does not prove a particular application or backup is healthy. The URL can submit success reports only, not read or manage your account. Keep it private in protected task or script settings, never in screenshots, shared logs, or public repositories. Reset heartbeat URL immediately revokes the old address; update every scheduled task afterward.

Start monitoring your services today

Three-month free trial, no credit card required.