Ein Cronjob scheitert meist lautlos — er läuft einfach nicht, und niemand merkt es, bis das Backup fehlt oder die Rechnung nicht raus ist. Heartbeat-Monitoring (Dead-Man-Switch) macht genau diesen stillen Ausfall sichtbar.
# crontab: täglich 3 Uhr Backup, danach pingen
0 3 * * * /opt/backup.sh && curl -fsS https://ping.pingmon.de/dein-token
Hör auf zu raten, ob dein Backup heute Nacht gelaufen ist. Leg einen Heartbeat an, baue den Ping in deinen Job ein — und PingMon meldet sich, wenn er ausbleibt.
Cronjob kostenlos überwachen →Webseiten und APIs prüft man von außen: man ruft sie auf und sieht, ob sie antworten. Ein Cronjob hat aber keine Adresse, die man anpingen könnte — er läuft im Hintergrund auf deinem Server, oft nur einmal am Tag. Wenn er ausfällt, gibt es nichts, was von außen sichtbar wäre. Genau das macht ihn so tückisch: Das Backup, der Newsletter-Versand oder die nächtliche Rechnungsläufe scheitern still, und du erfährst es erst, wenn etwas fehlt.
Deshalb dreht Heartbeat-Monitoring die Logik um: Nicht PingMon ruft deinen Job an — dein Job meldet sich bei PingMon. Bleibt diese Meldung aus, schlägt der „Dead-Man-Switch" an.
Du bekommst eine eindeutige Heartbeat-URL. Diese URL ruft dein Cronjob ganz am Ende auf — also genau dann, wenn er erfolgreich durchgelaufen ist. Eine einzige Zeile mit curl reicht. PingMon merkt sich, wann der letzte Ping kam, und erwartet den nächsten innerhalb des Intervalls, das du eingestellt hast (plus einer kleinen Toleranz).
Kommt der Ping pünktlich, ist alles gut — du hörst nichts. Bleibt er aus, weiß PingMon: Der Job ist nicht durchgelaufen, abgebrochen oder gar nicht erst gestartet. Dann wirst du alarmiert — per Telegram, Slack oder E-Mail. Weil das Signal das Ausbleiben ist, erkennt der Dead-Man-Switch auch die Fälle, die ein klassischer Check nie sähe: ein eingefrorener Server, ein Stromausfall, ein gelöschter Cron-Eintrag.
In PingMon legst du einen Heartbeat-Monitor an, wählst das erwartete Intervall (z. B. „einmal täglich" oder „alle 15 Minuten") und baust die ausgegebene Ping-URL in deinen Job ein. Ab dann läuft alles automatisch: PingMon zeigt dir, wann der letzte Lauf war, führt ein Protokoll und warnt dich, sobald ein Ping fehlt. Optional kannst du den Ping erst am Ende eines erfolgreichen Laufs senden — so zählt nur ein wirklich sauber durchgelaufener Job als „lebendig".
Das Schöne: Es ist dieselbe einfache, ehrliche Logik wie beim restlichen PingMon — gehostet in Deutschland, mit Alarmen, die ankommen, und ohne Enterprise-Ballast. Egal ob Backup-Skript, Datenimport, Report-Generator oder ein Job auf dem Raspberry Pi zu Hause.
curl oder wget, die fast überall schon vorhanden sind. Kein Agent, kein Daemon.