Shopware Anleitung

Shopware Backup erstellen

Ein Shopware-Backup muss Datenbank, Dateien, Medien und Konfiguration gemeinsam sichern. Diese Anleitung zeigt, wie ein vollständiges Backup erstellt, geprüft, geschützt und für Updates, Migrationen oder Notfälle wiederherstellbar aufbewahrt wird.

Ziel

Einen vollständigen und wiederherstellbaren Stand des Shops sichern.

Häufiger Fehler

Nur Datenbank oder Dateien werden gesichert, obwohl beide Versionsstände zusammengehören.

Wichtig

Ein Backup ist erst belastbar, wenn Archiv und Datenbankdump geprüft und der Wiederherstellungsweg dokumentiert sind.

Inhaltsverzeichnis

  1. Was ein vollständiges Backup enthält
  2. Geeigneten Zeitpunkt wählen
  3. Vorbereitung und Speicherplatz
  4. Datenbank sichern
  5. Shopware-Dateien sichern
  6. Medien und Dokumente prüfen
  7. Konfiguration und Zugangsdaten
  8. Konsistentes Backup erstellen
  9. Backup technisch prüfen
  10. Sicher aufbewahren
  11. Backups automatisieren
  12. Wiederherstellung testen
  13. Abschlusskontrolle

1. Was ein vollständiges Shopware-Backup enthalten muss

Bestandteil Inhalt Warum erforderlich
Datenbank Produkte, Kunden, Bestellungen, Konfiguration, Plugins und Zuordnungen Enthält den fachlichen Zustand des Shops
Projektdateien Shopware-Code, Plugins, Themes und individuelle Anpassungen Müssen zur Datenbankversion passen
Medien Produktbilder, Downloads, Dokumente und weitere Dateien Sind nicht vollständig in der Datenbank enthalten
Composer-Dateien composer.json und composer.lock Dokumentieren den installierten Paketstand
Konfiguration Umgebungsdateien, Webserver- und Worker-Konfiguration Wird für einen identischen Wiederaufbau benötigt
Dokumentation Version, Datum, Server, Datenbank und Restore-Schritte Verhindert Verwechslungen und beschleunigt den Notfall
Dateien und Datenbank bilden einen gemeinsamen Stand

Eine alte Codebasis mit einer bereits aktualisierten Datenbank oder umgekehrt kann zu schwerwiegenden Fehlern führen. Beide Bestandteile müssen demselben Sicherungszeitpunkt zugeordnet werden.

2. Geeigneten Sicherungszeitpunkt wählen

Während des Backups können Bestellungen, Zahlungen oder Änderungen entstehen. Für Wartungsarbeiten und Updates sollte deshalb ein ruhiger Zeitraum oder ein kontrolliertes Wartungsfenster gewählt werden.

  • Vor jedem Shopware-Update
  • Vor Plugin- und Theme-Updates mit Datenbankänderungen
  • Vor Migrationen und Importen
  • Vor direkten Datenbankänderungen
  • Vor Serverumzügen
  • Vor umfangreichen Konfigurationsänderungen
  • Regelmäßig als automatisches Betriebsbackup
Aktuelle Geschäftsdaten berücksichtigen

Je größer das Zeitfenster zwischen Datenbank- und Dateisicherung, desto größer das Risiko eines inkonsistenten Stands. Bei produktiven Shops sollten beide Sicherungen unmittelbar nacheinander erfolgen.

3. Vorbereitung und Speicherplatz prüfen

Shopware-Version dokumentieren

Shopware CLI
bin/console --version
Mit festem PHP-Pfad
/usr/bin/php bin/console --version

Freien Speicherplatz prüfen

Shell
df -h

Größe des Shopware-Verzeichnisses ermitteln

Shell
du -sh /pfad/zum/shopware-verzeichnis

Backup-Verzeichnis mit Zeitstempel anlegen

Shell
BACKUP_DIR="/pfad/zu/backups/shopware-$(date +%Y-%m-%d_%H-%M-%S)"
mkdir -p "$BACKUP_DIR"
echo "$BACKUP_DIR"
Backup nicht im öffentlich erreichbaren Webverzeichnis speichern

Datenbankdumps und Konfigurationsdateien enthalten sensible Daten. Der Sicherungsort muss außerhalb des öffentlich erreichbaren Dokumentenstamms liegen.

4. Shopware-Datenbank sichern

Die Zugangsdaten befinden sich bei aktuellen Shopware-Installationen typischerweise in der Datei .env.local. Kennwörter sollten nicht direkt in der Shell-Historie hinterlegt werden.

MySQL- beziehungsweise MariaDB-Dump erstellen

Datenbank-Backup
mysqldump \
  --single-transaction \
  --quick \
  --routines \
  --triggers \
  --default-character-set=utf8mb4 \
  -h DATENBANK_HOST \
  -u DATENBANK_BENUTZER \
  -p \
  DATENBANK_NAME \
  | gzip > "$BACKUP_DIR/database.sql.gz"

Host, Benutzer und Datenbankname müssen durch die Werte der jeweiligen Installation ersetzt werden. Das Kennwort wird nach dem Start sicher abgefragt.

Warum --single-transaction?

Bei transaktionsfähigen Tabellen kann der Dump dadurch einen konsistenteren Datenbankstand erzeugen, ohne alle Tabellen während der gesamten Sicherung zu sperren.

Große oder besondere Datenbanken

Bei sehr großen Shops, Replikation, speziellen Storage Engines oder Managed-Datenbanken kann ein Anbieter-Snapshot oder ein datenbankspezifisches Backupverfahren geeigneter sein.

5. Shopware-Dateien sichern

Das Datei-Backup muss mindestens den Projektstand, Plugins, Themes, Medien, Composer-Dateien und Konfigurationen enthalten.

Vollständiges Archiv erstellen

Datei-Backup
tar \
  --exclude="./var/cache" \
  --exclude="./var/log" \
  -czf "$BACKUP_DIR/shopware-files.tar.gz" \
  -C /pfad/zum/shopware-verzeichnis \
  .

Cache- und Logdateien können bei einer Wiederherstellung neu erzeugt werden. Ob weitere Verzeichnisse ausgeschlossen werden dürfen, hängt von der konkreten Installation ab.

Vendor-Verzeichnis bewusst behandeln

Bei Composer-basierten Installationen kann vendor aus composer.lock neu aufgebaut werden. Für eine schnelle und exakt reproduzierbare Notfallwiederherstellung ist eine Mitsicherung dennoch häufig sinnvoll.

6. Medien, Downloads und Dokumente prüfen

Produktbilder, Erlebniswelt-Dateien, Downloads und weitere Medien liegen im Dateisystem beziehungsweise in einem konfigurierten externen Dateispeicher.

  • Verzeichnis public/media vorhanden
  • Verzeichnis public/thumbnail geprüft
  • Private Dateien und Dokumente berücksichtigt
  • Externer S3- oder Objektspeicher separat gesichert
  • Produktdownloads und digitale Inhalte geprüft
  • Individuelle Upload-Verzeichnisse dokumentiert
Externer Speicher ist nicht automatisch im Serverarchiv

Werden Medien über S3, CDN oder einen anderen Objektspeicher ausgeliefert, muss dessen Backup separat organisiert und geprüft werden.

7. Konfiguration und Zugangsdaten sichern

  • .env und .env.local
  • composer.json und composer.lock
  • Verzeichnis config
  • Verzeichnis custom/plugins
  • Verzeichnis custom/apps
  • Individuelle Themes und Anpassungen
  • Webserver-Konfiguration
  • Cronjobs, Supervisor- und systemd-Konfiguration
  • SSL-, CDN- und Proxy-Einstellungen
  • Externe API- und Zahlungsanbieter-Konfiguration
Sensible Zugangsdaten verschlüsselt aufbewahren

Konfigurationsdateien können Datenbankkennwörter, API-Schlüssel und Mailzugänge enthalten. Zugriff auf Backups muss technisch und organisatorisch beschränkt werden.

8. Konsistentes Backup für Wartungsarbeiten erstellen

Für Updates oder größere technische Eingriffe empfiehlt sich ein kurzes Wartungsfenster. Dadurch entstehen zwischen Datenbank- und Datei-Backup keine neuen Bestellungen oder Änderungen.

Verkaufskanäle in Wartung setzen

Shopware CLI
bin/console sales-channel:maintenance:enable --all

Empfohlene Reihenfolge

  1. Wartungsmodus aktivieren.
  2. Laufende Importe und Hintergrundprozesse beenden lassen.
  3. Datenbankdump erstellen.
  4. Dateiarchiv erstellen.
  5. Prüfsummen erzeugen.
  6. Backup an sicheren Speicherort kopieren.
  7. Geplante Wartungsarbeit durchführen.
  8. Shop vollständig prüfen.
  9. Wartungsmodus deaktivieren.

Wartungsmodus beenden

Shopware CLI
bin/console sales-channel:maintenance:disable --all

9. Backup direkt nach der Erstellung prüfen

Dateien im Backup-Verzeichnis anzeigen

Shell
ls -lh "$BACKUP_DIR"

Gzip-Datenbankdump prüfen

Shell
gzip -t "$BACKUP_DIR/database.sql.gz"

Tar-Archiv auflisten

Shell
tar -tzf "$BACKUP_DIR/shopware-files.tar.gz" | head -n 50

Prüfsummen erzeugen

Shell
cd "$BACKUP_DIR"
sha256sum database.sql.gz shopware-files.tar.gz > SHA256SUMS

Prüfsummen kontrollieren

Shell
cd "$BACKUP_DIR"
sha256sum -c SHA256SUMS
Technische Prüfung bestanden

Datenbankdump und Dateiarchiv sind lesbar, Prüfsummen stimmen und die erwarteten Dateien befinden sich im Sicherungsverzeichnis.

10. Backups sicher aufbewahren

  • Mindestens eine Kopie außerhalb des Webservers
  • Getrennter Backup-Speicher oder anderer Anbieter
  • Verschlüsselte Übertragung
  • Verschlüsselte Speicherung sensibler Daten
  • Zugriff nur für berechtigte Personen
  • Aufbewahrungsfristen dokumentiert
  • Regelmäßige Löschung abgelaufener Sicherungen
  • Erfolgreiche Backup-Läufe überwacht
3-2-1-Prinzip

Drei Kopien, auf zwei unterschiedlichen Speichermedien, davon eine Kopie außerhalb des produktiven Standorts. Dieses Prinzip reduziert das Risiko durch Serverausfall, Fehlbedienung oder Schadsoftware.

Backup auf demselben Server reicht nicht

Bei Festplattenfehler, kompromittiertem Server oder gelöschtem Benutzerkonto können Original und Sicherung gleichzeitig verloren gehen.

11. Regelmäßige Shopware-Backups automatisieren

Automatische Backups sollten Datenbank und Dateien nach einem festen Zeitplan sichern, Prüfsummen erzeugen, alte Sicherungen kontrolliert löschen und Fehler melden.

  • Täglicher Datenbankdump
  • Regelmäßiges vollständiges Datei-Backup
  • Bei Bedarf inkrementelle Dateisicherungen
  • Externer Speicherort
  • Aufbewahrung mehrerer Generationen
  • Fehlerbenachrichtigung
  • Regelmäßiger Restore-Test
Cronjob allein beweist keinen Erfolg

Ein vorhandener Zeitplan bedeutet nicht, dass das Backup vollständig erstellt und übertragen wurde. Dateigröße, Exit-Code, Prüfsumme und externer Speicher müssen überwacht werden.

12. Wiederherstellung in einer Testumgebung prüfen

Der sicherste Nachweis eines funktionierenden Backups ist eine Wiederherstellung in einer getrennten Testumgebung.

  • Leere Testdatenbank anlegen.
  • Dateiarchiv in ein getrenntes Verzeichnis entpacken.
  • Datenbankdump importieren.
  • Test-Konfiguration und Test-Domain eintragen.
  • Produktiven Mailversand deaktivieren.
  • Cache neu aufbauen.
  • Administration und Storefront prüfen.
  • Produkte, Kunden, Bestellungen und Medien stichprobenartig kontrollieren.
Restore niemals ungeprüft über den Liveshop durchführen

Eine Wiederherstellung überschreibt aktuelle Dateien und Daten. Vor jedem Live-Restore müssen Zeitpunkt, Datenverlust und zwischenzeitliche Bestellungen bewertet werden.

13. Abschlusskontrolle

  • Shopware-Version und Sicherungszeitpunkt dokumentiert
  • Datenbankdump vollständig erstellt
  • Shopware-Dateien vollständig archiviert
  • Medien und externe Speicher berücksichtigt
  • Composer-Dateien gesichert
  • Konfiguration und Worker-Einstellungen gesichert
  • Backup liegt außerhalb des öffentlichen Webverzeichnisses
  • Datenbankdump ist technisch lesbar
  • Dateiarchiv lässt sich auflisten
  • Prüfsummen stimmen
  • Externe Backup-Kopie vorhanden
  • Zugriff und Verschlüsselung geprüft
  • Aufbewahrungsfrist festgelegt
  • Wiederherstellung wurde testweise geprüft
Backup wiederherstellbar

Die Sicherung gilt erst als abgeschlossen, wenn Datenbank, Dateien, Medien und Konfiguration demselben Stand entsprechen und ein dokumentierter Wiederherstellungsweg vorhanden ist.

Häufige Fragen

Reicht ein Datenbank-Backup für Shopware aus?

Nein. Produktbilder, Plugins, Themes, individuelle Dateien und Konfigurationen liegen außerhalb der Datenbank und müssen separat gesichert werden.

Muss das Verzeichnis vendor gesichert werden?

Es kann bei einer Composer-Installation anhand der Lock-Datei neu aufgebaut werden. Für eine schnelle und exakte Notfallwiederherstellung ist eine Mitsicherung häufig sinnvoll.

Wie oft sollte ein Shopware-Shop gesichert werden?

Das Intervall richtet sich nach Bestellvolumen und akzeptablem Datenverlust. Bei aktiven Shops ist mindestens ein tägliches Datenbank-Backup üblich; vor Änderungen zusätzlich ein manueller Stand.

Darf das Backup auf dem Webserver bleiben?

Nicht als einzige Kopie. Eine Sicherung muss zusätzlich auf einem getrennten und geschützten Speicher liegen.

Wie erkenne ich, ob ein Backup vollständig ist?

Dump und Archiv müssen lesbar sein, erwartete Dateien enthalten, passende Prüfsummen besitzen und testweise wiederhergestellt werden können.

Sichert Shopware selbst automatisch meinen Shop?

Bei selbst gehosteten Installationen muss die Backup-Strategie durch Betreiber oder Hosting-Anbieter eingerichtet und geprüft werden.

Verwandte Shopware-Anleitungen

Shopware-Backup technisch prüfen lassen

Ich prüfe Datenbank-, Datei- und Medien-Backups, Aufbewahrung, Automatisierung und Wiederherstellungsweg direkt für die bestehende Shopware-Installation.

Backup-Prüfung anfragen
Stand: Juli 2026 · Hinweise gelten für selbst gehostete Shopware-6-Installationen. Backup-Befehle, Verzeichnisse und Datenbankwerkzeuge müssen an Hosting und Infrastruktur angepasst werden.