Wenn ein Cronjob nicht wie erwartet ausgeführt wird, kann das verschiedene Ursachen haben. Mit dieser Übersicht finden Sie die häufigsten Fehlerquellen und Lösungen.
1. Wurde der Cronjob korrekt gespeichert und aktiviert?
Stellen Sie sicher, dass der Cronjob im Adminpanel gespeichert und der Status auf „aktiv“ gesetzt ist.
Prüfen Sie, ob das gewählte Zeitintervall korrekt eingegeben wurde (z. B. nicht versehentlich 0 0 0 * * statt 0 0 * * *).
2. Wird der Befehl zur richtigen Zeit ausgeführt?
Prüfen Sie, ob die geplante Zeit (Minuten, Stunden, Wochentage usw.) mit Ihren Erwartungen übereinstimmt.
Denken Sie daran, dass Cronjobs in der Regel auf Basis der Serverzeit (UTC) laufen.
3. Ist der Pfad zum Skript korrekt?
Verwenden Sie bei lokalen Skripten immer absolute Pfade, z. B.:
php /web/meinprojekt/cron/cleanup.php
Vergewissern Sie sich, dass das Skript existiert und ausführbar ist (z. B. mit chmod +x bei Shell-Skripten).
4. Gibt es Fehlermeldungen in der Protokoll-Datei?
Wenn Sie beim Anlegen des Cronjobs im Adminpanel die Option „Ausgabe loggen“ aktiviert haben, wird ein Logfile angelegt:
/home/log/cron.log
Tipp: Öffnen Sie die Datei, um zu prüfen, ob dort Fehlerausgaben oder Warnungen des Cronjobs auftauchen. So erkennen Sie zum Beispiel:
- Syntaxfehler im Skript
- Fehlende PHP-Module
- Falsche Zugriffsrechte
- Datenbankverbindungsprobleme
5. Wird ein gesichertes Skript über eine URL aufgerufen?
Wenn Sie ein Skript per URL aufrufen (z. B. https://…/cron.php) und dieses durch .htaccess oder IP-Filter geschützt ist, kann der Cronjob daran scheitern.
Testen Sie den URL-Aufruf im Browser – funktioniert er dort nicht, kann auch Cron ihn nicht erreichen.
6. Wird die Ausgabe korrekt weitergeleitet?
Für lokale Cronjobs empfehlen wir, Ausgaben und Fehler bewusst umzuleiten, z. B.:
php /pfad/skript.php >> /home/log/cleanup.log 2>&1
So können Sie später prüfen, ob und was genau ausgeführt wurde.
7. Manuelles Testen hilft weiter
Führen Sie das Skript testweise manuell über die Konsole oder den Browser aus.
Beispiel:
php /web/projekt/cron/test.php
Wenn das Skript dort bereits scheitert, liegt der Fehler nicht am Cronjob selbst, sondern am Skript oder Pfad.
Hilfe benötigt?
Wenn Sie trotz dieser Hinweise nicht weiterkommen, hilft unser Support-Team gerne. Bitte halten Sie folgende Informationen bereit:
- Das exakte Zeitintervall
- Die verwendete Cron-Syntax
- Die zuletzt protokollierte Ausgabe aus /home/log/cron.log
So kann der Fehler gezielt eingegrenzt werden.