Shopware Backup manuell erstellen und einspielen

|
Für Shopware selbst, aber auch für installierte Erweiterungen, gibt es immer wieder Updates. Bevor man solche Updates einspielt, empfiehlt es sich, ein Backup der Installation anzulegen. Damit kannst du im Notfall wieder auf den Stand vor dem Update zurückgehen, sollte beim Updatevorgang etwas schief laufen oder falls nach dem Update Fehler im System auftreten. Natürlich kannst Du das ganze bequem über die Wiederherstellungspunkte im Mittwald-Kundencenter steuern. Aber vielleicht willst du so ein Backup auch auf deinen Rechner runterladen, um es zusätzlich zu sichern. Deshalb zeigen wir dir in diesem Artikel eine Methode, manuell ein Backup deiner Shopware-Installation zu erstellen.

Voraussetzungen

Damit das ganze möglichst effizient durchgeführt werden kann, empfehle ich dir, dich vorher ein wenig mit SSH vertraut zu machen und einen SSH-Key einzurichten. Dann kannst Du direkt über eine Konsole auf dem Server arbeiten.

Diese Methode ist sehr viel schneller als zum Beispiel die Arbeit über FTP.

Shopware Backup manuell erstellen

Um ein Shopware Backup zu erstellen musst du sowohl deine Datenbank als auch deine Dateien sichern. Dabei gehst du am besten Schritt für Schritt vor.

Shopware Backup per SSH erstellen

Mit der Anzeige dieses Videos werden Daten an Vimeo übertragen.

Hinweise dazu erhältst du in der Datenschutzerklärung.
Inhalte von Vimeo laden

Schritt 1: Datenbank sichern

Im ersten Schritt erstellst du eine Sicherung deiner Shopware-Datenbank. Prinzipiell könntest du das auch über Tools wie zum Beispiel PhpMyAdmin durchführen, die du über das Kundencenter starten kannst.

Das funktioniert aber nur, solange die Datenbank relativ klein ist. Außerdem wollen wir in diesem Beispiel eine Export-Datei erst einmal auf dem Server ablegen. Deshalb empfehle ich, den Export der Datenbank direkt auf dem Server durchzuführen. Starte dazu ein Terminal auf deinem Rechner (manchmal auch Konsole oder (Power-)Shell genannt). Wenn du dir, wie im Abschnitt “Voraussetzungen” beschrieben, einen SSH-Key eingerichtet hast, kannst du dich mit dem folgenden Befehl mit dem Server verbinden.

ssh servername

servername steht dabei für den Namen, den du in der Datei .ssh/config definiert hast. Navigiere dann in das Verzeichnis deiner Shopware-Installation:

cd html/shopware/

Jetzt benötigst du die Zugangsdaten zur Datenbank:
 

  • den Datenbank-Server
  • den Datenbank-Benutzernamen
  • den Datenbank-Namen
  • das Datenbank-Passwort

Falls du dir diese Daten nirgends gespeichert oder notiert hast – kein Problem, denn wir finden sie in unserer Shopware-Installation. Im Verzeichnis shopware/ gibt es eine Datei mit dem Namen .env. Lass dir den Inhalt der Datei mit folgendem Befehl anzeigen:

cat .env

Oben in dieser Datei siehst du eine Variable DATABASE_URL. Darin stehen alle Daten, die du brauchst. Das könnte zum Beispiel so aussehen:

DATABASE_URL="mysql://p123456:SuperSicheresPasswortdb123456.mydbserver.com:3306/usr_p123456_1"

Mit dem folgenden Befehl exportieren wir den Inhalt der Datenbank in eine Textdatei. Diese Textdatei soll als Beispiel db.sql heißen:

mysqldump --opt --no-tablespaces -h db123456.mydbserver.com -u p123456 -p usr_p123456_1 > db.sql

> db.sql sorgt dafür, dass die Ausgabe des mysqldump-Befehls direkt in eine Datei geschrieben wird.

Mit der Eingabetaste (Enter) lässt du diesen Befehl ausführen und wirst jetzt nach dem Passwort gefragt. Kopiere es in die Zwischenablage (STRG + c bzw. COMMAND +c) und füge es im Terminal wieder ein mit STRG + v bzw. COMMAND + v. Achtung: das Passwort wird an dieser Stelle aus Sicherheitsgründen nicht angezeigt! Drücke wieder die Eingabetaste, um den Befehl jetzt auszuführen. Wenn du an dieser Stelle jetzt keine Fehlermeldung erhältst, hast du alle Daten korrekt eingegeben. Je nach Größe der Datenbank kann es wenige Sekunden bis zu mehreren Minuten dauern, bis der Export fertiggestellt ist. Vielleicht also Zeit, sich eine Tasse Kaffee oder Tee zu holen.

Nachdem der Exportvorgang abgeschlossen ist, solltest du im aktuellen Verzeichnis jetzt die Datei db.sql sehen.  Den Verzeichnisinhalt anzeigen lassen kannst du dir immer mit den Befehlen ll oder ls -al

Schritt 2: Dateien sichern

Jetzt solltest du alle Dateien sichern, inklusive der in Schritt 1 erzeugten Datei db.sql. Navigiere dazu im Terminal eine Verzeichnisebene nach oben mit dem Befehl

cd ..

Ich empfehle, das Verzeichnis der Shopware-Installation in einer Archiv-Datei zu komprimieren. Da der Server mit Linux als Betriebssystem arbeitet, verwenden wir hier das Tar-Format. Führe folgenden Befehl aus:

tar czf "$(date +%Y%m%d)shopware.tar.gz" shopware/

Damit wird eine Datei mit dem aktuellen Datum im Dateinamen erzeugt, zum Beispiel 20220729shopware.tar.gz . Der letzte Parameter gibt das Verzeichnis an, das komprimiert werden soll. In unserem Fall ist das Verzeichnis shopware/. Das Erzeugen des tar.gz-Archivs kann je nach Größe der Shopware-Installation wenige Sekunden bis einige Minuten dauern. Also vielleicht sogar Zeit für die zweite Tasse Kaffee oder Tee. Mit Hilfe dieses Archivs kannst du jetzt jederzeit den Stand deines Shops zum Zeitpunkt der Sicherung wiederherstellen. Und du kannst diese Datei natürlich auch per (S)FTP auf deinen Rechner runterladen, um sie zusätzlich auf einem weiteren System zu sichern. Um ein wenig aufzuräumen, empfehle ich, ein Verzeichnis für deine Backup-Dateien anzulegen. Erzeuge dazu ein Verzeichnis mit dem Namen backups mittels des Befehls

mkdir backups

Anschließen verschiebe das tar.gz Archiv in dieses Verzeichnis:
 

mv 20220729shopware.tar.gz backups/
 

Damit hast du eine komplette Sicherung deines Shops erstellt.

Shopware Backup wiederherstellen

Im Fall der Fälle kannst du deinen Shop aus diesem Backup wiederherstellen. Und zwar sowohl die Datenbank als auch die Dateien.

Backup per SSH wiederherstellen

Mit der Anzeige dieses Videos werden Daten an Vimeo übertragen.

Hinweise dazu erhältst du in der Datenschutzerklärung.
Inhalte von Vimeo laden

tar.gz-Archiv entpacken

Verbinde dich als erstes wieder per SSH mit dem Server. Achtung: Wenn du das Archiv noch nicht in ein eigenes Verzeichnis verschoben hast, wie oben beschrieben, hole das bitte spätestens jetzt nach! Wechsle dann in das Verzeichnis, in dem du das tar.gz-Archiv abgelegt hast.

cd html/backups/

Entpacke das Archiv mit dem Befehl:

 

tar xzf 20220729shopware.tar.gz

 

Wenn du dir nun den Verzeichnisinhalt mit “ll” anzeigen lässt, siehst du neben dem Archiv jetzt auch wieder ein Verzeichnis shopware. Das ist eine vollständige Kopie der Shopware-Installation. Wechsle in dieses Verzeichnis mit dem Befehl

 

cd shopware/

Datenbank wieder einspielen

Jetzt importieren wir den Inhalt der Datei db.sql wieder in die Datenbank. Die Zugangsdaten findest du wie oben beschrieben in der Datei .env . Führe folgenden Befehl aus:

mysql -h db123456.mydbserver.com -u p123456 -p usr_p123456_1 < db.sql

Über “< db.sql” weisen wir den Befehl an, den Inhalt der Datei db.sql zu importieren.

Drücke die Eingabetaste, um den Befehl zu starten. Jetzt wirst du nach dem Passwort gefragt. Kopiere es in die Zwischenablage und füge es im Terminal ein. Achtung: Auch hier wird dir aus Sicherheitsgründen das Passwort nicht angezeigt! Drücke die Eingabetaste, um den Befehl auszuführen. Wenn Du keine Fehlermeldung erhältst, hast du alles korrekt eingegeben. Je nach Größe der zu importierenden Datenbank kann dieser Vorgang wieder wenige Sekunden bis einige Minuten dauern.

Dateien ersetzen

Im letzten Schritt können wir nun die Dateien der Shopware-Installation komplett mit denen aus dem Backup ersetzen. Wechsle dazu zuerst in das Verzeichnis  html/ , in dem deine Shopware-Installation liegt:

 

cd ..

 

Prinzipiell könntest du jetzt das aktuelle Shopware-Verzeichnis löschen mit dem Befehl

 

rm -rf shopware/

 

Wenn dir das zu riskant ist, kannst du es im ersten Schritt auch einfach umbenennen mit dem Befehl

 

mv shopware shopware_defekt

 

Anschließend verschiebst du das Verzeichnis shopware aus dem backups/ Verzeichnis eine Verzeichnisebene nach oben mit dem Befehl

 

mv backups/shopware/ .

 

Der Punkt steht dabei für das aktuelle Verzeichnis, in dem du dich gerade befindest. 

Und das war es auch schon. Jetzt musst du deinen Shop natürlich ausführlich testen, aber das System sollte jetzt wieder auf genau dem Stand sein, zu dem du das Backup-Archiv angelegt hast.

Shopware-Videotraining

Die oben eingebundenen Videos sind Teil meines Shopware-Videotrainings. Darin lernst du von null bis Shop alles, was du über Shopware wissen solltest. Mit dem Code Mittwald15 erhältst du 15 Prozent Rabatt.

Tipp!
Hoste deine Shop-Projekte auf dem Agentur-Server und profitiere nicht nur von den Wiederherstellungspunkten sondern auch von maximaler Performance. Egal, wie groß dein Projekt ist.

Ähnliche Artikel:

Webentwicklung

Jürgen Wunderle und Wolfgang Wagner über die ersten Schritte mit Shopware 6 im Agentur-Alltag

Von null bis Shop erklärt Wolfgang Wagner Shopware 6 in Tutorials. Mehr dazu + einen echten Praxistipp verraten er und Jürgen Wunderle von compuart.com

Mittwald stellt E-Mail Backups bereit
Hosting

E-Mail-Backup − So kommst du an verlorene Mails

Ein Albtraum: Alle Mails sind weg! Warum das bei Mittwald überhaupt kein Problem ist und wie wir dir aus der Patsche helfen, erzählt Sebastian.

Anleitung für die manuelle Sicherheitskopie oder per Plugin
Webentwicklung

WordPress Backup erstellen − so gelingt es mit Plugin und manuell 

Ein Backup kann dein WordPress Projekt retten. Wir erklären Schritt für Schritt, wie du ein Backup mit Plugin und manuell erstellst.

Kommentare

Stefan Wagner am
Für Backups gibt es ja eigentlich die Wiederherstellungspunkte. Nur leider funktioniert dies nur bei sehr mageren Projekten ohne viel Speicherplatz.
Zudem konnte man bis Shopware 5 über das Easy Staging eine wirklich gute Testplattform erstellen und eben diese erst dann live einspielen, wenn alles reibungslos funktionierte.

Was uns aber richtig ärgert, ist dass das Staging für die Shopware 6 Version einfach gestrichen wurde. Und das trotz allgemeiner Preiserhöhungen. Das ist definitiv ein Rückschritt. Vielleicht können Sie uns den Zusammenhang mal näher erläutern. Über das Ticket-System habe ich hierüber nie eine Antwort erhalten.

Nun sind wir zwangsweise auf der Suche nach einer externen Lösung.
Antworten
Katarina am
Hallo Stefan,

danke für deinen Kommentar.

Wir haben hier in den FAQ zusammengestellt, wie du die Wiederherstellungspunkte nutzen kannst: https://www.mittwald.de/faq/tools-cms/sicherheit/wiederherstellungspunkte
Falls du dein Projekt nicht weiter entschlacken kannst, meld dich sehr gern via Ticket bei unseren Kolleg*innen aus dem Kundenservice. Diese sehen sich deine Wünsche und dein Projekt sehr gern an und finden bestimmt eine Lösung.
Herzliche Grüße aus dem Marketing von
Katarina
Antworten

Kommentar hinzufügen