An schlechten Tagen kommt es vor, dass man Shopware Backups wiederherstellen muss. Wenn dein Shop sich mit einem Fehler verabschiedet und nichts mehr funktioniert kann in einigen Fällen das Wiederherstellen des Backups eines Shopware Shops die letze und beste Lösung sein. In diesem Beitrag soll dir gezeigt werden, was du dabei beachten solltest.

Übersicht

1. Backup erstellen

⬆ Zurück zur Übersicht

Zunächst einmal sollten wir bevor wir schlimmstenfalls noch mehr kaputt machen erst einmal ein Backup des Status quo erstellen. Denn wie jeder weiß: Schlimmer geht immer. Und wie jeder Leser dieses Blogs auch weiß machen wir das in unserem Fall auf unseren Servern bei Timme Hosting. Auf deren Servern bieten wir für kleinere bis mittlere Shops auch ein eigenes Shopware Hosting-Paket an.

Und jetzt kommen wir auch gleich mal zu einem der Hauptpunkte, warum ich mir dieses Hosting so gerne empfehle:

Die ungemein simple Backup Funktion. Gerade als Agentur, die immer mal wieder Shopware Backups erstellt und wiederherstellt, ist es ungemein praktisch. Kurz im ISP Config einloggen, in der Liste Webseiten auf die gewünschte Seite klicken, dort auf den Reiter Backups gehen, beim Punkt Sofortbackup den Schalter auf aktivieren umlegen und anschließend unten auf den grünen Speichern Button klicken.

Nach ein paar kurzen Minuten steht das Backup samt erstellter Uhrzeit zur Verfügung. Datenbank und Dateien werden gleichzeitig gesichert jedoch gesondert wiederhergestellt. Heißt, wenn das Backup erstellt wird, werden die Datenbank und Shopdateien in einem Rutsch gespeichert müssen bei der Wiederherstellung jedoch gesondert wiederhergestellt werden.

Shopware Sofortbackup erstellen

Shopware Sofortbackup erstellen

2. Backup wiederherstellen

⬆ Zurück zur Übersicht

Ok kommen wir zur eigentlichen Wiederherstellung des Shopware Backups.

2.1 Tägliche Backups für 10 Tage

Dein Shopware Shop wird jede Nacht einmal gesichert. Das heißt, sofern an dem Tag an dem der Shop kaputt gegangen ist, noch keine Bestellungen eingegangen sind kannst du einfach die Sicherheitskopie vom Vortag wieder einspielen. Prüfe jedoch zunächst die genaue Uhrzeit wann das letzte Backup erstellt wurde. Sofern am selben Tag eine Bestellung eingegangen ist könntest du Glück haben, dass diese noch vor dem Backup getätigt wurde.

2.2 Prüfe deinen Shop auf Bestellungen

Das wichtigste: Gehe sicher, dass nach dem letzen Backup keine weiteren Bestellungen mehr eingegangen sind.

Wenn das gesichert ist oder du eh noch auf einer Entwicklungsumgebung arbeitest auf der noch keine Bestellungen eingehen, dann kannst du tatsächlich hingehen und mit zwei, drei Klicks dein Shopware Backup wiederherstellen.
In der Regel stehen dir dafür die Backups der letzen 10 Tage zur Verfügung, oben sind die neusten aufgelistet und nach unten hin die älteren.

2.3 Shopware Dateien und Shopware Datenbank wiederherstellen

Klicke als erstes bei deiner Datenbank auf Backup wiederherstellen und warte kurz ab. In der Regel dauert es keine 5 Minuten, das hängt aber natürlich davon ab, wie groß eure Datenbank ist. Als nächstes müsst ihr den Bereich neu aufrufen. Wenn das Shopware Datenbank-Backup wiederhergestellt wurde sehr ihr nun eine Bestätigung und könnt als nächstes die Dateien noch wiederherstellen. Bei der Arbeit mit zusätzlichen Datenbanken, die wir zum Beispiel für Staging Umgebungen verwenden, sollten können bei Bedarf auch die Staging Datenbanken wiederhergestellt werden. Zu beachten gilt, dass jede Datenbank einzeln wiederhergestellt werden muss.

Und was machen wir wenn doch noch Bestellungen nach dem Backup eingegangen sind? Dann lesen wir ganz einfach beim nächsten Punkt weiter.

3. Das Problem mit ungesicherten Daten

⬆ Zurück zur Übersicht

Bestellungen, die nach dem letzen Backup eingehen sind „ungesichert“. Heißt: Diese sind nicht im letzten Backup enthalten. Zusätzlich ist es auch „unsicher“ wenn man ein Shopware Backup (eines Live-Shops) wiederherstellt, in dem zuvor getätigte Bestellungen nicht mehr vorhanden sind. Wenn nach dem letzten Backup noch Bestellungen eingegangen sind, gibt es nicht nur das Risiko des Datenverlusts, sondern auch Probleme mit den Nummernkreisen und der buchhalterischen Korrektheit.

3.1 Nummernkreise und Bestellnummern

Jede Bestellung erhält eine fortlaufende Bestellnummer. Wenn ein Backup eingespielt wird, wird der Shop auf einen früheren Stand zurückgesetzt – inklusive der Nummernkreise. Neue Bestellungen, die bereits nach dem Backup eingegangen sind, existieren dann nicht mehr im System. Falls danach erneut Bestellungen eingehen, könnten Bestellnummern doppelt vergeben werden, was zu Chaos im System führt. In manchen Fällen müssen Nummernkreise manuell angepasst werden, um Überschneidungen zu vermeiden.

3.2 Buchhalterischer Aspekt

Aus buchhalterischer Sicht ist es kritisch, wenn Bestellungen, Rechnungen oder Zahlungen nachträglich verschwinden. In vielen Ländern gibt es gesetzliche Vorschriften zur lückenlosen Dokumentation von Geschäftsvorfällen. Wenn eine Bestellung nach dem Backup eingegangen und dann durch die Wiederherstellung gelöscht wurde, fehlen diese Daten in der Buchhaltung. Das kann zu Unstimmigkeiten in den Einnahmen, offenen Forderungen oder Steuererklärungen führen.

3.3 Was du noch beachten solltest.

Das wichtigste was fehlen kann sind die Bestellungen. Fakt ist aber ebenfalls, dass jegliche andere Anpassungen die am Shop gemacht wurde die auf dem Zeitraum nach dem letzten Backup fallen alle verloren gehen. Heißt wenn
jemand den ganzen Tag an Produkt-Texten gearbeitet hat, dann sollten auch die Produkte exportiert werden exportiert werden. So können die Texte nach dem Wiederherstellen des Shopware Shops nachträglich importiert werden.

Kritisch wird es es aber bei spezifischen Einstellungen an Plugins, Themes und ähnlichen Dingen, die wir nicht so einfach importieren können.

Folgende Punkte sind zu prüfen:

  • Bestellungen und Zahlungsdaten sichern (z. B. exportieren).
  • Prüfen, ob die neuen Bestellungen auch von neuen Kunden sind.
  • Gegebenenfalls auch die neuen Kunden exportieren.
  • Nummernkreise prüfen und ggf. anpassen, um doppelte Bestell- oder Rechnungsnummern zu vermeiden.
  • Buchhalterische Abstimmung durchführen, um sicherzustellen, dass alle Transaktionen korrekt erfasst wurden.
  • Lagerbestand notieren.
  • Gegebenenfalls Anpassungen an Produkt-Texten, Kategorien, Herstellern etc. sichern / neu machen.

Wer ein Backup einspielt muss sicherstellen, dass keine relevanten Daten verloren gehen und keine doppelten Nummern oder buchhalterischen Fehler entstehen.

4. Kunden & Bestellungen exportieren

⬆ Zurück zur Übersicht

Um Datenverluste zu vermeiden, solltest du…

Sofern sich nach dem letzten Shopware Backup neue Kunden registriert haben und / oder neue Bestellungen eingegangen sind sollten wir diese exportieren um sie später im Backup aus der Nacht wieder zu importieren. In der Export-Datei löschen wir dann bei Bedarf alle Einträge die wir nicht brauchen, also diejenigen die schon bereits vor dem letzten Backup im System waren. Wir brauchen nur genau die Zeilen, von den Einträgen, die nach dem Backup eingetragen wurden.

Kunden bei Shopware 5 exportieren:
– default_customers
– In der Datei löscht man dann anschließend alle unnötigen Einträge raus bevor man sie später wieder importiert.

Ich nutze das CSV Format um die Datei einfach bearbeiten zu können.

Bestellungen bei Shopware 5 exportieren:
– default_orders
– „Bestellnummer von“ Wert eingeben oder optional
– Datum Werte eingeben

In unserem Beispiel gehen wir davon aus, dass es außer Kunden & Bestellungen keine großartigen Änderungen im Shop gab und, dass das Backend des Shops noch funktioniert und man Exporte ausführen kann ohne über phpmyadmin auf die Datenbank zugreifen zu müssen.

5. Kunden importieren

⬆ Zurück zur Übersicht

Nach dem Backup kannst du die Kunden wieder importieren…

Grundsätzlich können wir einen Testlauf für den Import machen, indem wir die Kunden erst einmal im aktuellen Shop löschen. (Vorher das Backup nicht vergessen). Wenn wir die Daten löschen, dann nur die neuen natürlich.

Wer noch mit Shopware 5 unterwegs ist mag beim Import der Kunden-Tabelle auf folgenden Fehler stoßen:

Fehler beim Import
Es muss ein ungehashtes Passwort für die E-Mail “ übergeben werden.

Wie dieser Fehler behoben oder umgangen werden kann wird weiter unten im Fehlerkabinett erklärt.

6. Bestellungen importieren

⬆ Zurück zur Übersicht

Die Bestellungen können über verschiedene Wege importiert werden…

Für die Shopware 5 Nutzer eines vorab: Über das Import/Export Modul geht es nicht. Ihr könnt zwar die Bestellungen wunderbar exportieren, dafür aber umso weniger wunderbar wieder importieren. Ein normaler Export in dem Sinne bringt euch erstmal nur so viel, dass ihr die Bestelldaten habt. Wenn es sich bei den Bestellungen um Vorkasse oder Rechnungsbestellungen handelt kann man die im Nachhinein als Kunde wieder eintragen.

Wer es mir nicht glaub kann hier nachlesen:
https://docs.shopware.com/de/shopware-5-de/import-export/import-export-bestellungen

Dort heißt es: Bitte beachte, dass es nicht möglich ist Bestellungen komplett zu importieren. Der Import kann nur den Bestellstatus updaten.

Wichtig: Auch eventuell bereits erstelle Dokumente müssen wieder (in der richtigen Reihenfolge) neu erstellt werden.

Der sauberste Weg ist hier wahrscheinlich über die Shopware API zu gehen oder alternativ einen manuellen SQL Import für alle relevanten Tabellen (wie: s_order, s_order_details, s_order_billingaddress, s_order_shippingaddress, s_order_attributes) auszuführen.

7. Fehlerkabinett

⬆ Zurück zur Übersicht

Fehler beim Kundenimport in SW5:
Es muss ein ungehashtes Passwort für die E-Mail “ übergeben werden.

Lösung: CSV Datei erneut prüfen / anlegen

Ihr müsst beim bearbeiten der CSV Datei penibel darauf achten wie ihr die Datei in Libre Office öffnet. Beim Trenner darf nur das Semikolon ausgewählt sein. Der Texttrenner sollten Anführungsstriche sein. Ob ihr einen Fehler bei der Anpassung der CSV Datei gemacht habt könnt hr daran erkennen, ob sich die unveränderte CSV Datei problemlos importieren läßt.

⬆ Zurück zur Übersicht

Shopware Backups erstellen:
https://great2gether.com/2018/12/shopware-backups/

Shopware 5 Update Best Practice:
https://great2gether.com/2021/09/best-practice-shopware-update/

Shopware 6 Update:
https://www.youtube.com/watch?v=-lGFH-IvYAU

Shopware Staging Umgebungen mit StageWare für Shopware 5:
https://great2gether.com/2021/08/shopware-5-staging-umgebung/

Shopware Staging Umgebungen mit StageWare für Shopware 6:
https://great2gether.com/2023/04/shopware-6-testumgebung/

Alles super spannend aber irgendwie will es bei dir nicht funktionieren? Dann buche dir jetzt einen Termin und wir helfen dir beim Setup: