Simple Ping
All guides

Linux heartbeat monitoring with cron

Send a recurring heartbeat from a Linux server using curl and cron.

Create a heartbeat checker

In Add checker, choose Heartbeat, then enter a display name, an optional group, and the expected interval. The default is 60 minutes; intervals can range from one minute to 30 days. Save and copy the private URL from the checker. A GET or POST request to that URL reports success without a custom header or request body. These templates report every 30 minutes while the checker allows 60 minutes between reports, leaving room for ordinary scheduling or network delays. Replace the entire sample URL with yours.

Reopen the checker on the dashboard whenever you need to view its read-only Heartbeat URL field and copy the address again.

Linux: send a heartbeat every 30 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 30 minutes, even after the terminal is closed.

*/30 * * * * /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 */30 to */1, */2, */5, */10, */15, or */20 for another evenly spaced minute schedule. Set a longer expected interval in Simple Ping so ordinary delays do not cause an alert. Minute steps restart each hour; they are not an arbitrary elapsed-time timer. Use command -v curl to confirm the executable path. Check the schedule with crontab -l; to stop it, edit out only this line.

Cron scheduling reference

Arm it with the first success report

The URL is available immediately. The first valid report starts monitoring and marks the checker UP immediately, without generating DOWN alerts beforehand. Each report restarts the configured interval. After that deadline, the regular consecutive-down threshold applies during scheduled checker runs. A later success report records recovery immediately. The dashboard shows the updated state on its next automatic refresh.

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.

Start monitoring your services today

Three-month free trial, no credit card required.