Warum Cronjobs scheitern: 21 Millionen Aufrufe ausgewertet
Wir haben jeden Aufruf von 9.224 Cronjobs aus 12 Tagen ausgewertet. Das Ergebnis: Die allermeisten Cronjobs laufen einfach. Fehler kommen fast nur von wenigen, die dauerhaft kaputt sind – und bei den übrigen sind es meist kurze Aussetzer, die sich beim nächsten Aufruf von selbst erledigen.
Zeitraum 4.–15. Oktober 2026 20.961.525 Aufrufe 2.282 Domains So haben wir gezählt
Acht von zehn Cronjobs laufen ohne einen einzigen Fehler
7.368 der 9.224 Cronjobs sind in 12 Tagen kein einziges Mal gescheitert, weitere 1.108 bei weniger als einem von hundert Aufrufen. Dauerhaft kaputt – mindestens jeder zweite Aufruf schlug fehl – waren 545 Cronjobs, 410 davon bei jedem einzelnen Aufruf.
- 79,9 % ohne Fehler (7.368)
- 12,0 % unter 1 % Fehler (1.108)
- 2,2 % 1 bis 50 % Fehler (203)
- 5,9 % ab 50 % Fehler (545)
Fünf Prozent der Cronjobs verursachen fast alle Fehler
Zählt man alle Aufrufe zusammen, scheiterten 9,1 %. Das klingt nach viel, sagt aber wenig: Die 462 Cronjobs mit den meisten Fehlschlägen – 5 Prozent aller – stehen für 99,7 % davon. Ohne die dauerhaft kaputten Cronjobs liegt die Fehlerquote bei 0,3 %, also bei etwa drei von tausend Aufrufen.
Was diese Cronjobs gemeinsam haben: Meist gibt es die Adresse nicht mehr. Bei 305 der 545 dauerhaft kaputten Cronjobs antwortete der Server mit 404 – die Seite wurde umgebaut oder die Domain gewechselt, und der Cronjob ruft seitdem ins Leere.
Deshalb melden wir den Wechsel: eine Nachricht, wenn ein Cronjob ausfällt, und eine Entwarnung, wenn er wieder läuft – statt jede Minute dieselbe Fehlermail. Zur Fehlerbenachrichtigung
Was gesunde Cronjobs aus dem Tritt bringt
Interessanter als die Dauerausfälle sind die Aussetzer bei Cronjobs, die sonst zuverlässig laufen. Von den 8.679 Cronjobs mit weniger als 50 Prozent Fehlern hatte so viele mindestens einmal diesen Fehler:
- Fehler im Skript (500) 470 Das Skript ist abgestürzt – ein PHP-Fehler, zu wenig Speicher, eine Datenbank, die kurz nicht antwortete.
- Verbindung abgebrochen 303 Der Server hat die Verbindung mittendrin getrennt, oft unter Last oder durch eine Firewall.
- Server überlastet (503) 237 Der Webserver hat abgelehnt, weil er gerade zu viel zu tun hatte oder gewartet wurde.
- Leere Antwort 186 Verbindung da, aber keine Antwort: meist ein Prozess, der vom Hoster beendet wurde.
- Vorgeschalteter Dienst ohne Antwort (502) 155 Ein Proxy oder CDN vor dem Server hat von dort nichts Brauchbares bekommen.
- Verbindung abgelehnt 136 Unter der Adresse nahm kurz niemand Verbindungen an, etwa während eines Neustarts.
- Verschlüsselung fehlgeschlagen 96 Die HTTPS-Verbindung kam nicht zustande, etwa wegen eines Zertifikats im Wechsel.
- Server nicht erreichbar 55 Keine Verbindung innerhalb der Wartezeit – Netzstörung oder Server aus.
Ein Cronjob kann mehrere dieser Fehler gehabt haben. Fehlersuche: was hinter jedem Statuscode steckt
Zwei von drei Aussetzern sind einmalig
Von 9.013 Fehlerphasen bestanden 6.035 (67 %) aus genau einem fehlgeschlagenen Aufruf – der nächste klappte wieder. Der Server war kurz überlastet, wurde neu gestartet oder die Verbindung riss ab. Ein zweiter Versuch ein paar Minuten später hätte die Aufgabe erledigt.
Genau dafür gibt es ab Plus die automatische Wiederholung: Bei Fehlern, bei denen Ihr Skript sicher nicht gelaufen ist, versuchen wir es nach 1, 5 und 15 Minuten noch einmal – von einem anderen unserer Server. Eine Meldung bekommen Sie erst, wenn auch das nicht hilft. So funktioniert die Wiederholung
Wenn ein Schutzdienst den Aufruf aufhält
Bei 34 Cronjobs stand eine Sicherheitsabfrage von Cloudflare im Weg – zusammen über 150.000 aufgehaltene Aufrufe. Das Skript dahinter wurde dabei kein einziges Mal gestartet, und am Statuscode allein sieht man nicht, warum.
Wir erkennen die Abfragen von Cloudflare, Vercel, Sucuri, Imperva und DDoS-Guard und sagen im Protokoll, welcher Dienst es war und welche Ausnahme Sie dort einrichten müssen – statt nur „403“.
Wie lange Cronjobs laufen
Die Hälfte der Cronjobs ist im Schnitt nach 4,4 Sekunden fertig, 1.227 brauchen weniger als eine Sekunde. Am anderen Ende laufen 1.024 Cronjobs im Schnitt länger als 30 Sekunden – meist Importe, Exporte und Sicherungen. Für sie zählt die Zeitgrenze: Wer sie erreicht, wird abgebrochen, und das Skript bleibt mittendrin stehen.
Bei uns darf ein Aufruf im kostenlosen Tarif 45 Sekunden dauern, ab Plus 60 Sekunden. Ab Unlimited zeigt die Laufzeit-Statistik, ob ein Cronjob langsam auf diese Grenze zuwächst. Tarife vergleichen
Was wir tun, damit Ihre Aufrufe ankommen
Manche Fehler liegen nicht am Skript, sondern am Weg dorthin: Firewalls, die unbekannte Absender sperren, Schutzdienste, wechselnde Adressen. Dagegen hilft nur Sorgfalt beim Aufrufen.
Feste Adressen zum Freigeben
Unsere Aufrufe kommen von einer festen, veröffentlichten Liste von IPv4- und IPv6-Adressen und tragen immer die Kennung „Cronjob.de“. Hoster und Firewalls können uns damit gezielt freigeben. Adressliste
Mehrere Server an drei Standorten
Die Aufrufe verteilen sich auf unabhängige Maschinen in Nürnberg, Falkenstein und Helsinki. Fällt eine aus, laufen die übrigen weiter.
IPv4 zuerst
Viele Firewall-Freigaben kennen nur IPv4. Auf unseren Servern mit fester IPv4-Adresse wurden 0,55 % der Aufrufe mit „Zugriff verweigert“ abgewiesen, auf den übrigen 1,05 % – seit September 2026 rufen alle bevorzugt über IPv4 auf.
Zweiter Versuch von anderer Stelle
Die Wiederholung kommt bewusst von einem anderen Server mit anderer Adresse. Liegt das Problem auf der Strecke zwischen zwei Rechenzentren, klappt es von dort oft trotzdem.
Adressen wie ein Browser
Leerzeichen und Sonderzeichen in der Adresse kodieren wir wie jeder Browser, Domains mit Umlauten wandeln wir selbst um. Sonst bricht die Verbindung bei solchen Adressen oft ohne Antwort ab.
Eine Antwort ist noch kein Erfolg
Auf Wunsch prüfen wir, ob in der Antwort ein bestimmter Text steht – oder eine Fehlermeldung. So fällt auch ein Skript auf, das mit „200 OK“ abbricht.
So haben wir gezählt
- Grundlage sind alle Aufrufe vom 4.10.2026 bis 15.10.2026, gezählt je Cronjob und Tag. Für frühere Tage liegen uns keine vollständigen Zahlen vor.
- Als Fehler zählt jede Antwort mit einem HTTP-Status ab 400, jede Verbindung, die nicht zustande kam oder abbrach, eine Sicherheitsabfrage eines Schutzdienstes und eine fehlgeschlagene Antwortprüfung.
- Nicht mitgezählt sind unsere eigenen Dienste und Heartbeats, bei denen nicht wir aufrufen, sondern Ihr Server sich meldet.
- Eine Fehlerphase sind gleiche Fehler hintereinander, bis wieder ein Aufruf klappt. Gezählt sind Phasen, die im Zeitraum begannen.
- Wir nennen weder Kunden noch Domains. Alle Zahlen sind Summen über alle Konten.
Häufige Fragen
Wie oft scheitert ein Cronjob normalerweise?
Was ist die häufigste Ursache, wenn ein Cronjob nicht läuft?
Lohnt es sich, einen fehlgeschlagenen Aufruf zu wiederholen?
Warum blockiert Cloudflare meinen Cronjob?
Merken, wenn ein Cronjob ausfällt
Fünf Cronjobs sind dauerhaft kostenlos. Die ersten 14 Tage testen Sie alles, auch die Meldung bei Fehlern und die Wiederholung.
Kostenlos starten Preise ansehen