Alle Artikel
Shopware 65 min

Shopware 6 Cronjob Fehler – Diagnose & Behebung

Cronjobs sind das Rückgrat vieler automatisierter Prozesse in Shopware 6 – von der Produktsynchronisation über Newsletter-Versand bis hin zu Preisberechnungen. Wenn diese Hintergrundaufgaben plötzlich nicht mehr funktionieren, kann das erhebliche Auswirkungen auf deinen Shop haben. In diesem Artikel zeige ich dir, wie du Shopware 6 Cronjob Fehler systematisch diagnostizierst und behebst.

Warum Cronjobs in Shopware 6 so wichtig sind

Shopware 6 nutzt Cronjobs (offiziell "Scheduled Tasks") für zeitgesteuerte Aufgaben:

  • Produktimporte und -exporte
  • E-Mail-Versand (Newsletter, Bestellbestätigungen)
  • Sitemap-Generierung
  • Indexierung von Suchdaten
  • Bereinigung temporärer Dateien
  • ERP-Synchronisationen

Wenn Cronjobs ausfallen, merken Kunden das oft sofort – etwa wenn Bestellbestätigungen ausbleiben oder Produktdaten veraltet sind.

Typische Symptome von Shopware 6 Cronjob Fehlern

Bevor du in die Fehlersuche einsteigst, solltest du die Symptome genau identifizieren:

Offensichtliche Anzeichen:

  • Keine automatischen E-Mails mehr
  • Produktdaten werden nicht aktualisiert
  • Warteschlangen ("Message Queue") laufen voll
  • Import-/Export-Jobs bleiben stecken

Versteckte Probleme:

  • Langsam wachsende Datenbank
  • Veraltete Sitemaps
  • Nicht aktualisierte Produktbewertungen
  • Fehlende Statistik-Daten im Backend

Schritt 1: Cronjob-Status prüfen

Der erste Diagnoseschritt ist die Überprüfung des aktuellen Status:

Im Shopware-Backend

Navigiere zu Einstellungen → System → Geplante Aufgaben. Hier siehst du:

  • Welche Tasks registriert sind
  • Wann sie zuletzt gelaufen sind
  • Ob Fehler aufgetreten sind
  • Der aktuelle Status (aktiv/inaktiv)

Achte besonders auf die Spalte "Letzter Lauf". Wenn hier Zeitstempel von gestern oder länger stehen, hast du definitiv ein Problem.

Per CLI prüfen

bin/console scheduled-task:list

Dieser Befehl zeigt alle registrierten Tasks mit ihrem Status. Noch aufschlussreicher:

bin/console scheduled-task:run --help

So kannst du einzelne Tasks manuell ausführen und siehst sofort, ob Fehler auftreten.

Schritt 2: Häufige Ursachen für Shopware 6 Cronjob Fehler

Crontab nicht oder falsch konfiguriert

Die häufigste Ursache: Der Server-Cronjob ist gar nicht eingerichtet. Shopware 6 benötigt einen Crontab-Eintrag auf dem Server:

* * * * * /pfad/zu/php /pfad/zu/shopware/bin/console scheduled-task:run

Prüfen:

crontab -l

Wenn kein Eintrag existiert oder der Pfad falsch ist, werden keine Tasks ausgeführt.

Falsche PHP-Version

Shopware 6 benötigt mindestens PHP 8.1. Wenn dein Crontab eine ältere PHP-Version nutzt, scheitern die Tasks:

/usr/bin/php8.1 /var/www/shopware/bin/console scheduled-task:run

Stelle sicher, dass der vollständige Pfad zur richtigen PHP-Version angegeben ist.

Datenbankverbindungsprobleme

Cronjobs laufen als separater Prozess und nutzen die .env-Datei für Datenbankzugänge. Wenn diese Zugangsdaten fehlerhaft sind, schlagen alle Tasks fehl.

Testen:

bin/console dbal:run-sql "SELECT 1"

Zu kurze PHP-Timeouts

Umfangreiche Import- oder Synchronisations-Tasks können länger dauern. Wenn max_execution_time zu niedrig ist, werden sie abgebrochen.

Für Cronjobs separat setzen:

* * * * * /usr/bin/php -d max_execution_time=300 /pfad/zu/shopware/bin/console scheduled-task:run

Message Queue läuft voll

Shopware 6 nutzt eine Message Queue für asynchrone Aufgaben. Wenn diese nicht verarbeitet wird, stauen sich Tasks:

bin/console messenger:consume async --time-limit=60

Dieser Command sollte ebenfalls als Cronjob laufen.

Schritt 3: Logs analysieren

Shopware 6 Cronjob Fehler hinterlassen Spuren. Die wichtigsten Log-Dateien:

var/log/prod-*.log
var/log/dev-*.log

Suche nach:

grep -i "scheduled-task\|cronjob\|messenger" var/log/*.log

Typische Fehlermeldungen:

  • "Task XY failed" – konkrete Task-Fehler
  • "Connection refused" – Datenbankprobleme
  • "Memory exhausted" – zu wenig RAM
  • "Lock timeout" – Tasks blockieren sich gegenseitig

Schritt 4: Praktische Lösungen

Lösung 1: Manuelles Triggern zum Testen

bin/console scheduled-task:run --force

Der --force-Parameter ignoriert Zeitintervalle und führt alle Tasks sofort aus. Ideal zum Testen.

Lösung 2: Einzelne Tasks zurücksetzen

Wenn ein bestimmter Task ständig fehlschlägt:

bin/console scheduled-task:register

Registriert alle Tasks neu. Danach:

bin/console cache:clear

Lösung 3: Message Queue Worker als Service

Statt Queue-Verarbeitung per Cronjob ist ein dauerhafter Worker-Prozess stabiler:

# Systemd-Service erstellen
sudo nano /etc/systemd/system/shopware-messenger.service
[Unit]
Description=Shopware Messenger Worker

[Service]
User=www-data
WorkingDirectory=/var/www/shopware
ExecStart=/usr/bin/php bin/console messenger:consume async --time-limit=3600 --memory-limit=128M
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable shopware-messenger
sudo systemctl start shopware-messenger

Lösung 4: Performance-Optimierung

Bei großen Shops mit vielen Tasks:

bin/console scheduled-task:run --no-wait

Der --no-wait-Parameter verhindert, dass der Cronjob auf langsame Tasks wartet.

Wann professionelle Hilfe sinnvoll ist

Manche Shopware 6 Cronjob Fehler haben tiefere Ursachen:

  • Komplexe Plugin-Konflikte
  • Performance-Probleme auf Server-Ebene
  • Individuelle Custom-Tasks mit Bugs
  • Infrastruktur-Probleme (Load Balancer, Cluster-Setups)

Die Diagnose und Behebung solcher Probleme erfordert tiefes Shopware-Wissen und kann 3–8 Stunden in Anspruch nehmen. Die Kosten liegen typischerweise bei 600–1.600 €, abhängig von der Komplexität.

Bei kritischen Systemen – etwa wenn Cronjobs für ERP-Anbindungen oder Warenwirtschaft verantwortlich sind – solltest du nicht lange experimentieren. Jede Stunde Ausfall kann Umsatz kosten.

Präventive Maßnahmen

Monitoring einrichten:

  • Cronjob-Monitoring-Tools (z.B. Cronitor, Healthchecks.io)
  • Shopware-eigene Monitoring-Apps aus dem Store
  • Server-Logs regelmäßig prüfen

Regelmäßige Wartung:

  • Quartalsweise Cronjob-Funktionstest
  • Log-Dateien rotieren und archivieren
  • Datenbank-Queue regelmäßig aufräumen

Dokumentation:

  • Alle Cronjob-Konfigurationen dokumentieren
  • Änderungen an Tasks protokollieren
  • Ansprechpartner für kritische Systeme festlegen

Fazit

Shopware 6 Cronjob Fehler sind oft schnell behoben, wenn du systematisch vorgehst: Status prüfen, Logs analysieren, häufigste Ursachen ausschließen. Die meisten Probleme entstehen durch fehlende oder falsche Crontab-Einträge, Verbindungsprobleme oder überlastete Message Queues.

Bei komplexeren Setups – besonders mit Custom-Entwicklungen oder Drittsystem-Integrationen – kann die Fehlersuche aufwendiger werden. Dann ist es oft kostengünstiger, direkt einen Shopware-Spezialisten hinzuzuziehen, statt Tage mit Trial-and-Error zu verbringen.

Du suchst einen Shopware 6 Entwickler für Cronjob-Probleme oder Performance-Optimierung? Kostenloses Erstgespräch auf lonexa.de – ich analysiere dein System und gebe dir eine ehrliche Einschätzung, ob sich eine Beauftragung lohnt. Mehr zu meiner Arbeitsweise findest du in meinen Referenzen.

Shopware 6 Cronjob FehlerShopware 6FreelancerWebentwicklungDüsseldorf