Cronjob läuft nicht? Häufige Ursachen und Lösungen
Wenn dein Cronjob nicht ausgeführt wird, bist du nicht allein. Dies ist eines der häufigsten Probleme auf Linux-Systemen. Die meisten Ursachen lassen sich in wenige Kategorien einteilen — und alle sind leicht zu debuggen, sobald man weiß, wo man suchen muss.
Häufige Ursachen
Falsche Cron-Syntax
Ein kleiner Fehler im Schedule-Ausdruck verhindert die Ausführung still und leise. Selbst ein fehlendes Leerzeichen oder eine falsche Feldanzahl stoppt den Job.
Fehlende Berechtigungen
Das Skript hat möglicherweise keine Ausführungsrechte, oder der Cron-User hat keinen Zugriff auf benötigte Dateien oder Verzeichnisse.
Umgebungsunterschiede
Cron läuft mit minimaler Umgebung — kein $PATH, keine Aliases, kein .bashrc. Befehle, die in der Shell funktionieren, schlagen in Cron oft still fehl.
Ausgabe nicht erfasst
Cron verwirft stdout und stderr standardmäßig. Ohne explizite Log-Umleitung sind Fehler vollständig unsichtbar.
Cron-Daemon läuft nicht
Auf manchen Systemen ist der Cron-Daemon gestoppt oder deaktiviert — alle Jobs werden dann still nicht ausgeführt.
Zeitzonenprobleme
Cron verwendet die System-Zeitzone. Läuft dein Server in UTC, werden Jobs möglicherweise zu unerwarteten lokalen Zeiten ausgeführt.
Wie du debuggen kannst
1. Prüfen ob der Cron-Daemon läuft
systemctl status cron # Debian/Ubuntu
systemctl status crond # RHEL/CentOS/Fedora
2. Aktuelle Cron-Log-Einträge anzeigen
grep CRON /var/log/syslog | tail -30
# oder auf Systemen mit journald:
journalctl -u cron --since "1 hour ago"
3. Crontab überprüfen
crontab -l # aktueller User
sudo crontab -l -u root # root-Crontab
ls /etc/cron.d/ # systemweite Einträge
4. Skript-Berechtigungen prüfen
ls -la /pfad/zum/skript.sh
chmod +x /pfad/zum/skript.sh
5. Mit Cron-Umgebung testen
env -i HOME=/root SHELL=/bin/bash \
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
/bin/bash -c 'dein-befehl-hier'
6. Ausgabe im Crontab-Eintrag erfassen
# stdout und stderr in eine Log-Datei schreiben:
* * * * * /pfad/zum/skript.sh >> /var/log/meinJob.log 2>&1
Künftige Probleme verhindern mit Monitoring
Manuelles Debugging kostet Zeit. Ein Cron-Monitoring-Tool liefert Ausführungshistorie, Ausgabe-Logs und Fehlerbenachrichtigungen automatisch — sodass du sofort weißt, wenn etwas schiefläuft, ohne SSH-Zugriff.
Ausführungshistorie
Jeder Lauf mit Exit-Code, Dauer und vollständiger Ausgabe gespeichert. Kein manuelles Log-Durchsuchen mehr.
Sofortige Alerts
E-Mail-Benachrichtigung sobald ein Job fehlschlägt. Probleme erkennen, bevor sie Auswirkungen haben.
Multi-Server-Übersicht
Alle Cron-Jobs auf allen Servern in einem Dashboard. Kein SSH zum Statusprüfen erforderlich.
Cron-Jobs jetzt überwachen
CronManager ist kostenlos, quelloffen und selbst gehostet. Mit Docker in Minuten deployen.
Mit Docker installieren →