Guides von

Cronjob-Monitoring für Indie-Hacker: Heartbeat-Setups von Reddit

Wie Indie-Hacker ihre Cronjobs, Worker und Backups überwachen: das Heartbeat-Prinzip, ein curl-Einzeiler und die Tools, die Reddit empfiehlt — DSGVO-konform aus Deutschland.

Es gibt eine Frage, die in r/selfhosted, r/devops, r/homelab und r/indiehackers immer wieder auftaucht — oft nachdem jemand gerade auf die harte Tour gelernt hat, warum sie wichtig ist: „Wie merke ich, dass mein Cronjob nicht mehr läuft?” Die typische Geschichte dahinter: Ein nächtliches Backup ist seit sechs Wochen still gestorben, niemand hat es bemerkt, und aufgefallen ist es erst, als das Backup gebraucht wurde. Dieser Leitfaden fasst die Antworten aus diesen Threads zusammen und zeigt das Setup, das sich durchgesetzt hat.

Heartbeat-Monitoring ist die Überwachung geplanter Aufgaben durch ein umgekehrtes Signal: Statt dass ein Tool deinen Dienst anpingt, meldet sich die Aufgabe nach jedem erfolgreichen Lauf selbst. Bleibt die Meldung aus, wird alarmiert. Damit lässt sich genau die Fehlerklasse erkennen, an der klassisches Uptime-Monitoring scheitert: der Job, der einfach nicht mehr startet.

Warum klassisches Monitoring Cronjobs nicht abdeckt

Uptime-Monitoring prüft von außen, ob eine URL antwortet. Das funktioniert für Websites und APIs — aber ein Cronjob, ein Backup-Script oder ein Background-Worker hat keine öffentliche URL, die man anpingen könnte. Diese Aufgaben laufen im Verborgenen, und ihr gefährlichster Fehlermodus ist der stille: Sie hören auf zu laufen, ohne dass irgendjemand eine Fehlermeldung sieht.

Die üblichen Verdächtigen aus den Reddit-Threads:

  • Ein crontab-Eintrag wurde bei einem Deployment versehentlich überschrieben
  • Der Server wurde neu gestartet und der Dienst kam nicht wieder hoch
  • Das Dateisystem ist vollgelaufen, das Script bricht vor dem Start ab
  • Ein abgelaufenes API-Token oder Zertifikat lässt den Job scheitern
  • Der Scheduler-Prozess (systemd-timer, Worker-Queue) ist abgestürzt

Der gemeinsame Nenner: Ein Job, der nie startet, schreibt keine Log-Zeile und liefert keinen Exit-Code. Deshalb reichen Logs und Exit-Codes allein nicht — sie erkennen nur Fehler während einer Ausführung, nicht deren komplettes Ausbleiben.

Das Heartbeat-Prinzip

Heartbeat-Monitoring dreht die Richtung um. Du legst einen Monitor mit einem erwarteten Intervall an (z. B. „einmal pro Tag”) und bekommst eine eindeutige Ping-URL. Am Ende deines Scripts rufst du diese URL auf. Kommt der Ping regelmäßig, ist alles grün. Bleibt er länger als Intervall plus Grace-Period aus, wird alarmiert.

Der große Vorteil: Es ist agentenlos. Kein Daemon, kein SDK, keine Abhängigkeit — nur eine einzige HTTP-Anfrage. Das funktioniert mit jeder Sprache, jeder Plattform und jeder Infrastruktur, die einen HTTP-Request absetzen kann.

Das Setup: ein curl-Einzeiler

So sieht der von Reddit meistempfohlene Ansatz in der Praxis aus. Du hängst den Ping an das Ende deines Cronjobs — er läuft nur, wenn das Script vorher erfolgreich durchgelaufen ist:

# Tägliches Backup, das sich nach Erfolg meldet
0 3 * * *  /usr/local/bin/backup.sh && curl -fsS https://foundersdeck.dev/ping/dein-token > /dev/null

Oder innerhalb eines Scripts, ganz am Ende:

#!/usr/bin/env bash
set -euo pipefail

pg_dump meinedb | gzip > /backups/db-$(date +%F).sql.gz
rclone copy /backups remote:backups

# Erst hier, nach erfolgreichem Lauf, den Heartbeat senden
curl -fsS https://foundersdeck.dev/ping/dein-token > /dev/null

Die Flags sind bewusst gewählt: -f lässt curl bei HTTP-Fehlern scheitern, -s unterdrückt den Fortschritt, -S zeigt echte Fehler trotzdem an. Durch das && bzw. set -e wird der Ping nur gesendet, wenn die eigentliche Arbeit geklappt hat — bricht das Backup ab, bleibt der Heartbeat aus und du wirst alarmiert.

Grace-Period richtig setzen

Der häufigste Konfigurationsfehler ist eine zu knappe Grace-Period. Aufgaben schwanken in ihrer Laufzeit — ein Backup dauert an manchen Tagen länger, ein Import wartet auf eine langsame API. Die Grace-Period ist der Puffer zwischen „erwartetem” und „tatsächlichem” Alarm.

Faustregel: Setze die Grace-Period auf die längste realistische Laufzeit plus etwas Reserve. Ein Job, der normalerweise 5 Minuten läuft, gelegentlich aber 20, sollte eine Grace-Period von deutlich über 20 Minuten haben — sonst bekommst du Fehlalarme. Bei FoundersDeck ist die Grace-Period pro Monitor frei konfigurierbar, von 1 Minute bis 2 Stunden.

Was Reddit für Cronjob-Monitoring empfiehlt

Für die Heartbeat-/Cron-spezifische Überwachung fallen in den Threads vor allem diese Namen:

ToolModellKostenlos nutzbarEU-Datenhoheit
Healthchecks.ioQuelloffen, gehostet + selbst hostbar✅ Free-Tier / Self-Hosting⚠️ Bei Self-Hosting ja; gehostet prüfen
CronitorGehostet (US)⚠️ Begrenzt❌ US-Gesellschaft
Dead Man's SnitchGehostet (US)⚠️ Begrenzt❌ US-Gesellschaft
FoundersDeckGehostet in Deutschland✅ Heartbeat im Free-Tier✅ Nürnberg, kein CLOUD Act

Healthchecks.io ist der Liebling von r/selfhosted, weil es quelloffen ist und selbst gehostet werden kann — volle Datenkontrolle, aber du trägst den Betriebs- und Wartungsaufwand, und es stellt sich dieselbe Frage wie bei jedem Self-Hosting: Wer überwacht den Monitor, wenn dein Server ausfällt? Cronitor und Dead Man’s Snitch sind ausgereifte gehostete Optionen, teilen aber die CLOUD-Act-Exposition aller US-Anbieter.

FoundersDeck deckt Heartbeat-Monitoring bereits im kostenlosen Tarif ab — inklusive E-Mail-Alerts, konfigurierbarer Grace-Period und der Möglichkeit, Heartbeat-Monitore neben deinen Uptime-Monitoren auf einer öffentlichen Status-Seite anzuzeigen. Alles gehostet in Nürnberg, ohne dass Daten die EU verlassen. Die Details stehen auf unserer Seite zum Heartbeat- & Cronjob-Monitoring.

Der EU-Blick: wo landen deine Heartbeat-Daten?

Heartbeat-Daten wirken harmlos — es ist ja nur ein Ping. Tatsächlich verraten sie einiges über deine Infrastruktur: welche Jobs du wann laufen lässt, wie oft, mit welcher Zuverlässigkeit. Für Teams mit DSGVO-Anforderungen gilt hier dieselbe Regel wie beim Uptime-Monitoring: Serverstandort ist nicht gleich Jurisdiktion. Ein US-eingetragenes Tool unterliegt auch mit EU-Rechenzentrum dem US CLOUD Act.

In unserer EU SaaS Jurisdiction Database (eigene Erhebung, 57 Entwickler-Tools in 7 Kategorien, zuletzt verifiziert am 9. Juni 2026) sind 29 von 57 Tools US-eingetragen und 25 direkt dem CLOUD Act ausgesetzt; nur 16 von 57 garantieren echte EU-Datenresidenz. Wenn du ein Tool aus einem Reddit-Thread evaluierst, ist die Datenbank die schnellste Art, seinen Firmensitz und seine CLOUD-Act-Exposition nachzuschlagen, bevor du deine Infrastruktur-Signale dorthin sendest.

Checkliste: Cronjob-Monitoring in 10 Minuten

  1. Liste deine unsichtbaren Aufgaben. Backups, Datenexporte, Cleanup-Jobs, Queue-Worker, Zertifikats-Renewals — alles, was ohne Nutzerinteraktion läuft.
  2. Lege pro Aufgabe einen Heartbeat-Monitor an mit dem erwarteten Intervall.
  3. Setze eine realistische Grace-Period (längste Laufzeit plus Reserve).
  4. Hänge den curl-Einzeiler ans Ende jedes Scripts — nach der eigentlichen Arbeit.
  5. Teste den Ausfall bewusst: Kommentiere einen Cronjob aus und prüfe, ob der Alert wirklich kommt.
  6. Prüfe die Jurisdiktion deines Tools in der EU SaaS Jurisdiction Database.

Fazit

Der teuerste Ausfall ist der, den niemand bemerkt. Cronjobs, Backups und Worker scheitern still — und genau dort setzt Heartbeat-Monitoring an: ein umgekehrtes Signal, ein curl-Einzeiler, sofortige Alerts, wenn der Ping ausbleibt. Reddit empfiehlt für den Self-Hosting-Weg Healthchecks.io; wer eine gehostete, DSGVO-native Lösung ohne Wartungsaufwand will, bekommt Heartbeat-Monitoring bei FoundersDeck schon im Free-Tier.

Kostenlos starten — Heartbeat- und Uptime-Monitoring, eine Status-Seite, keine Kreditkarte. Mehr zum Thema im Heartbeat- & Cronjob-Monitoring-Überblick und im Vergleich der besten Uptime-Monitoring-Tools 2026.

Die Jurisdiktions- und DSGVO-Angaben in diesem Artikel stammen aus der EU SaaS Jurisdiction Database: 57 Entwickler-Tools in 7 Kategorien, zuletzt verifiziert am 9. Juni 2026. Korrekturen willkommen.

Engin Yildirim – Gründer von FoundersDeck

Engin Yildirim

Gründer von FoundersDeck. 13+ Jahre Erfahrung in der Softwareentwicklung. Entwickelt EU-First-Tools für Gründer und Indie-Hacker.

Mehr über mich →