Cron-Jobs scheitern leise. Einem Backup-Skript geht um 02:00 der Speicherplatz aus, ein Rechnungsexport wirft eine Exception, ein Server startet neu und die Crontab läuft nie wieder. Nichts fällt aus, nichts liefert einen 500, und niemand merkt etwas, bis ein Kunde nach einer Rechnung fragt oder Sie eine Datenbank wiederherstellen müssen.
Cron-Job-Monitoring meldet Ihnen, wenn ein geplanter Job nicht läuft, fehlschlägt oder zu lange dauert. Uptimecheck setzt dafür auf Heartbeats: Statt Ihren Job von außen zu prüfen, meldet sich der Job bei uns.
Einen Cron-Job-Monitor in drei Schritten einrichten
Legen Sie einen Cron-Job-Monitor an und geben Sie ihm den Zeitplan Ihres Jobs: einen Crontab-Ausdruck wie 0 3 * * * in Ihrer Zeitzone oder einen einfachen Zeitraum wie jede Stunde.Kopieren Sie die Ping-URL.Fügen Sie am Ende Ihres Jobs eine Anfrage hinzu, nachdem die Arbeit erfolgreich war: backup.sh && curl -fsS https://your-ping-url.
Kommt innerhalb der erwarteten Zeit plus der gewählten Karenzzeit von 1 Minute bis 6 Stunden kein Ping an, gilt der Cron-Job als ausgefallen und die Alarme gehen an Ihre Kanäle. Läuft der Job wieder, folgt eine Entwarnung. Unser Leitfaden Cron-Jobs überwachen behandelt Zeitpläne, Karenzzeiten und typische Fehler, und Cron-Ausdrücke erklärt hilft bei der Syntax.
Mehr als „er ist gelaufen“
Start und Ende: Rufen Sie /start auf, wenn der Job beginnt, und die normale Ping-URL, wenn er endet, dann sehen Sie, wie lange jeder Lauf gedauert hat.Maximale Laufzeit: Erhalten Sie einen Alarm, wenn ein gestarteter Lauf nicht rechtzeitig fertig ist, mit einem Limit von 1 Minute bis 24 Stunden.Exit-Codes: Rufen Sie /fail oder den Exit-Code selbst wie /1 auf, um einen Fehler sofort zu melden, statt auf einen Ping zu warten, der nie kommt.Ausgabe: Senden Sie die Ausgabe des Jobs per POST, und sie wird bei Fehlern und im Alarm angezeigt, sodass Sie den Fehler lesen können, ohne sich auf dem Server anzumelden.
Was Sie mit Cron-Jobs überwachen sollten
Datenbank- und Datei-Backups.Nächtliche Importe, Exporte und Berichtserstellung.Queue-Worker und geplante Tasks in Laravel, Rails oder Django.Skripte zur Zertifikatserneuerung.Abrechnungsläufe und Rechnungs-E-Mails.Datensynchronisation zwischen Systemen.
Bei Erfolg pingen oder den Exit-Code senden
Setzen Sie die End-Anfrage hinter die eigentliche Arbeit und verketten Sie sie so, dass sie nur läuft, wenn der Job sauber endet. Ein Job, der startet, aber mittendrin abstürzt, taucht dann als fehlend auf, und genau das wollen Sie wissen. Noch besser: Senden Sie den Exit-Code. backup.sh; curl -fsS https://your-ping-url/$? meldet in jedem Fall Erfolg oder Fehler, und der Fehler kommt in dem Moment an, in dem er passiert.
Cron-Jobs neben dem Rest Ihres Stacks
Ein fehlgeschlagenes Backup ist oft nur ein Symptom. Die Festplatte ist voll gelaufen, der Datenbankserver hat neu gestartet oder ein DNS-Eintrag wurde geändert. Cron-Jobs liegen im selben Konto wie das Server-Monitoring und das Uptime-Monitoring, sodass Sie die volle Festplatte und den verpassten Job nebeneinander sehen.
Heartbeats über Cron hinaus
Alles, was nach Zeitplan läuft, kann einen Heartbeat senden: eine geplante Windows-Aufgabe, ein Kubernetes-CronJob, ein GitHub-Actions-Workflow, eine Serverless-Funktion mit Timer oder ein langlaufender Worker, der sich alle paar Minuten meldet. Wenn es eine HTTP-Anfrage senden kann, kann es Uptimecheck mitteilen, dass es läuft. Die Anfrage ist einfaches HTTPS und kommt daher ohne zusätzliche Konfiguration durch die meisten Firewalls.
Start enthält 10 Cron-Jobs, Professional 50 und Business 150. Alarme gehen in jedem Tarif per E-Mail, Slack, Microsoft Teams, Discord, Google Chat, Mattermost, Telegram, PagerDuty, ntfy, Pushover, Webhooks und Push-Benachrichtigungen raus.
Die Tarife beginnen bei 9 € pro Monat bei jährlicher oder 12 € bei monatlicher Abrechnung, zzgl. MwSt. Details auf der Preisseite, oder testen Sie 14 Tage kostenlos ohne Karte.