WordPress Sicherheitskopie / Backup erstellen

- Dieser Artikel enthält Werbung & Werbelinks. -

Dieser Artikel ist Teil des WooCommerce Online Kurses.

Dieser Artikel ist wohl einer der wichtigsten auf meinem gesamten Blog zum Thema WordPress und Webdesign. Regelmäßig Sicherheitskopien zu erstellen ist eine sehr gute Gewohnheit, die man in allen Bereichen seines digitalen Lebens beibehalten sollte.

Ich erstelle von all meinen Daten regelmäßig Backups und sie haben mir schon oft eine Menge Arbeit erspart. Im folgenden erkläre ich meine WordPress-Backup-Strategie und wie ich sie mit WordPress umsetze.

Meine Backup-Strategie

Simpel und einfach. Ich mache ein Backup monatlich und speichere die aktuellsten 3 Backups an 3 verschiedenen Orten. Zusätzlich dazu erstelle ich manchmal noch kurzfristig extra Backups, falls große Änderungen an der Website anstehen.

Backups nie dort speichern, wo die Website liegt:

Ein Backup ist nur so gut wie der Speicherplan dahinter. Nehmen wir an du erstellst ein Backup und speicherst es im gleichen Verzeichnis wie deine Website. Aus irgendeinem Grund wird das Verzeichnis der Website gelöscht (ist mir schon öfter passiert) und damit natürlich auch das Backup. Dadurch das es sich im Verzeichnis der Website befand, ist das Backup natürlich auch weg.

Ein Backup sollte immer an einem Ort gespeichert werden, an dem es nicht von anderen Programmen berührt wird.

Backups immer an min. 2 Orten speichern:

Egal welche Backup Strategie man verfolgt, ich finde, man sollte seine Sicherheitskopie min. an 2 verschiedenen Orten speichern. Ein Datenträger kann kaputt gehen und somit ist das Backup nutzlos. Ein Server kann angegriffen werden und das Backup geht dabei verloren. Die möglichen Szenarien sind endlos.

Daher empfehle ich, Backups immer an mindestens 2 verschiedenen Orten zu speichern. Also z. B. auf einem weiteren Backup-Server (Google Drive, FTP oder Dropbox) und auf dem eigenen Computer oder einer externen Festplatte.

Was ist besser als 2 Backups? 3 Backups.

Ich gehe noch einen Schritt weiter und speichere meine Backups an 3 verschiedenen Orten:

  1. Auf dem Webserver der Website
  2. Auf einem weiteren FTP Server
  3. Auf meinem Computer

Zusätzlich dazu speichere ich all meine Daten 1x monatlich auf eine externe Festplatte und dort sind dann auch noch mal die Backups enthalten. Also im Prinzip speichere ich sogar an 4 Orten.

Ja ich weiß, oben habe ich geschrieben, dass die Speicherung der Sicherheitskopie zusammen mit der Website keine gute Idee ist. Aber da ich mein Backup noch an 2 weiteren Orten speichere ist das kein Problem. Es geht mir hier um die hohe Verfügbarkeit des Backups. Sehr selten gibt es den Fall, dass ein Backup gelöscht wird und falls doch, dann habe ich noch ein Backup vom Backup.

Drei-Standort-Strategie mit WordPress umsetzen

Im WordPress-Plugin-Verzeichnis gibt es eine Vielzahl an Plugins die von sich behaupten zuverlässige Backups zu erstellen, aber ich finde nur eines verspricht, was es hält – BackWPup.

Als Erstes installiere ich das Plugin und aktiviere es direkt danach.

Nun geht es darum einen neuen Backup-Job bzw. Auftrag zu erstellen. Das geht unter BackWPup -> Aufträge -> Erstellen.

Folgende Einstellungen nehme ich im Tab Allgemein vor:

Ich nenne meinen Auftrag „monatliches Backup“, denn ich richte den Auftrag so ein, dass 1x im Monat automatisch ein Backup erstellt wird.

Außerdem lege ich fest, dass dieser Auftrag ein Datenbank und ein Dateien Backup ist. Die anderen Optionen sind nicht notwendig für ein vollständiges Backup.

Ich setze gern einen eigenen Archivnamen. Bestenfalls den Namen der Website. So weiß ich genau um welches Backup es sich handelt, ohne lange zu suchen. Ich schreibe also vor die Zeitvariablen „%Y-%m-%d_%H-%i-%s_%hash%“ wpshoptutorial-.

Bei Archiv Format wähle ich ZIP aus.

Nun geht es darum, wie das Backup gespeichert werden soll. Ich speichere mein Backup im Verzeichnis sowie auf einem FTP Server. Es gibt auch die Möglichkeit Dropbox zu wählen oder andere Services, aber das Problem damit ist, wenn man personenbezogene Daten auf seiner Website speichert, was ein Onlineshop z. B. auf jeden Fall tut, dann benötigt man einen Vertrag zur Auftragsverarbeitung mit dem jeweiligen Anbieter und muss in der Datenschutzerklärung darauf hinweisen. Also es wird kompliziert. Den Aufwand zu betreiben ist es allerdings sehr wohl wert.

Ich empfehle das Backup auf einen externen FTP Server zu legen. Dazu später mehr.

Zu guter Letzt möchte ich eine E-Mail bekommen, wenn das Backup fertiggestellt wurde. Dazu entferne ich das Häckchen bei „Sende eine E-Mail mit Protokoll nur dann, wenn während der Auftragsausführung ein Fehler aufgetreten ist.“

Ich speichere die Änderungen und gehe zum nächsten Tab Planen:

Damit das Backup auch automatisch erstellt wird und ich nicht jeden Monat manuell das Backup starten muss, plane ich mithilfe des WordPress Cron die monatliche Erstellung des Backups.

Cronjobs sind zeitgesteuerte Prozesse des Linux-Betriebssystems die nur darauf warten eine bestimmte Aufgabe zu erledigen. Also perfekt für unser Vorhaben.

Ich wähle also bei Auftrag starten die Option mit WordPress Cron und wähle dann weiter unten bei Planungstyp die Option einfach aus. Dann stelle ich das Programm so ein, dass jeden Monat am 20. Tag um 3 Uhr Nachts ein Backup erstellt wird.

Die nächtliche Erstellung eines Backups ist zu empfehlen, da zu dieser Zeit auf einer deutschsprachigen Website höchstwahrscheinlich die wenigsten Besucher unterwegs sind und die Serverauslastung allgemein viel Spielraum lässt. Je nach Größe der Website, kann die Erstellung des Backups schon eine ganze Zeit dauern.

Du kannst hier natürlich auch einen anderen Intervall auswählen. Das bleibt dir überlassen. Ich allerdings verwalte über 30 Websites und da wäre ein kürzerer Intervall mit sehr viel mehr Arbeit verbunden.

Auch hier können die Einstellungen gespeichert werden und es geht weiter mit dem nächsten Tab Datenbank Backup.

Hier bleibt eigentlich alles, wie es ist. Ich möchte natürlich alle Tabellen der Datenbank sichern und der Name der Datenbank sollte beibehalten werden.

Bis auf die Einstellung zur Komprimierung. Hier empfehle ich die GZip-Komprimierung, die spart Zeit beim Download und Upload. Änderungen Speichern und weiter gehts.

Einstellungen im Dateien Tab:

Hier gibt es eine Menge Häckchen zu setzen. Eigentlich sind nur 2 wirklich interessant für ein Vollbackup.

Unter Plugins sichern sollte backwpup ausgeschlossen sein und unter Spezielle Optionen ganz unten auf der Seite setze ich das Häkchen bei Einen Ordner höher als WP-Installations-Ordner festlegen. Diese Vorgehensweise führt dazu, dass die ganze WordPress Installation gesichert wird. Bis auf die aufgeschlossenen Verzeichnisse, die man auf dieser Seite festlegen kann, befindet sich dann wirklich alles im Backup.

Wer jetzt etwas nachdenkt, dem wird auffallen, dass dann natürlich auch ein Backup vom Backup gemacht wird, da ja immer die letzten 3 Backups gesichert werden. Somit wäre das 2. Backup schon doppelt so groß wie das erste. Aber keine Angst, daran haben die Plugin-Entwickler gedacht. Sobald man das erste Backup startet, wird automatisch für das Backup-Verzeichnis eine Ausnahme hinzugefügt.

Die Ausnahme nach dem ersten Durchlauf.

Der letzte Einstellungstab regelt das Backup zum FTP Server:

Wer im Tab Allgemein bei der Einstellung Zielverzeichnis des Auftrags die Option Backup zu FTP ausgewählt hat, der kann hier weiterlesen. Wenn man nur mit einem Backup im Verzeichnis zufrieden ist, dann ist dieser Punkt überflüssig.

Ein FTP Server ist letztendlich nur ein Computer mit einer Festplatte, der permanent an das Internet angeschlossen ist und darauf wartet Uploads zu empfangen und Downloads bereitzustellen. Selbst die Website bei All-Inkl.com liegt ja auf einem FTP Server. Aber dadurch, dass die Website ja schon auf diesem Server liegt, sollte man aus Sicherheitsgründen bestenfalls einen anderen Server wählen. Ich habe lange gesucht, bis ich was vernünftiges gefunden habe. Mein aktueller Favorit für die Speicherung von Backups auf einem externen Server ist die Firma Hetzner.

Hetzner ist selbst auch ein Hostinganbieter, aber zusätzlich dazu gibt es bei Hetzner die sogenannte Storage-Box. Die Storage-Box ist eigentlich nichts anderes als ein FTP Server, also genau das, was wir brauchen.

Auf der Website von Hetzner kann man sich die verschiedenen Optionen anschauen. Für 1 – 10 Websites reicht locker die günstigste Storage-Box mit 100 GB. Nach der Anmeldung erhält man die Zugangsdaten zum Account. Man loggt sich dann im sogenannten Hetzner Robot unter https://robot.your-server.de/ ein.

Im Menu unter Storage Boxes ist die Übersicht der gebuchten Storageboxes zu sehen. Ich habe zurzeit nur eine mit 500 GB.

Mit einem Klick auf die Storage Box, öffnet sich eine Detailansicht. Dort findet man die Daten vom FTP-Server. Für die Einstellung im WP-Plugin brauchen wir:

  • FTP-Serveradresse
  • FTP-Benutzername
  • FTP-Passwort

Bis auf das Passwort findet man alle Daten sofort in der Übersicht. Das Passwort setzt man sich bestenfalls eben zurück. Alle Daten notiert? Dann gehts zurück zu WordPress.

Im Einstellungstag Ziel: FTP trägt man jetzt in die entsprechenden Felder die Daten ein. Zusätzlich dazu sollte man sich noch kurz überlegen, in welches Verzeichnis man die Backups legen will. Ich empfehle einen allgemeinen Backupordner und dann jeweils einen Ordner mit Namen der Website. In meinem Fall würde das so aussehen: /wpbackups/wpshoptutorial

Die Standardeinstellung bei Dateilöschung finde ich mit 15 Backups etwas hoch. Ich speichere immer nur die 3 aktuellen Backups. Beim erstellen des 4. Backups wird dann automatisch das Älteste gelöscht. Die Zeitüberschreitung bei der FTP-Verbindung setze ich auf 120 Sekunden. Alles andere kann so bleiben. Ich überprüfe die Daten nochmals und speichere dann meine Änderungen.

Backup starten

Jetzt ist es soweit, man kann das erste Backup starten. Dazu navigiert man im WordPress-Admin-Menu zu BackWPup -> Aufträge und fährt mit der Maus über den zuvor erstellten Auftrag. Dann erscheint ein Menu mit mehreren Punkten. Mit einem Klick auf jetzt starten kann man den Monatsauftrag manuell starten und ein Backup wird erstellt. Natürlich wird trotzdem das Backup auch ganz normal automatisch ausgeführt. Das manuelle Starten ersetzt also nicht das kommende Backup sondern erstellt ein zusätzliches Backup.

Backup überprüfen

Das fertige Backup erscheint dann unter BackWPup -> Backups und kann von dort aus heruntergeladen werden. Natürlich kann man das Backup ggf. auch vom FTP Server laden. Dazu nimmt man sich wieder die Daten FTP-Server, Benutzername und Passwort und ruft mit seinem Browser die URL des FTP-Servers auf. Also dort wo man normalerweise z. B. www.sandmann.co eingeben würde, gibt man dann ein ftp://deinftpserver.de. Es müsste sich ein Festern öffnen das nach Benutzername und Passwort fragt. Trägt man diese ein, kann man wie auf seinem Computer durch die Verzeichnisse navigieren und das entsprechende Backup als .ZIP Datei herunterladen.

Bevor ich die Anleitung hier abschließe, möchte ich noch kurz erklären, wie man ein Backup auf Vollständigkeit überprüft. Dazu muss man natürlich erst einmal das Backup herunterladen und dann nach erfolgreichem Download mit einem Rechtsklick auf die .ZIP Datei diese extrahieren. Das Entpacken der Datei kann eine Weile dauern. Ich mache das mit dem Programm Winrar, geht dann etwas schneller.

Sobald der Prozess abgeschlossen ist, hat man seine WordPress Installation auf dem lokalen Computer liegen. Hier sollte man überprüfen, ob folgende Daten vorhanden sind:

  • Die Datenbank als SQL Datei (.sql.gz mit GZIP Komprimierung) sollte im Hauptverzeichnis der Installation liegen
  • unter /wordpress/wp-content/uploads/2018 (bzw. jeweiliger Jahresordner) sollten Bilder vorhanden sein
  • unter /wordpress/wp-content/themes sollte das aktuelle Theme zu finden sein
  • unter /wordpress/wp-content/plugins sollten die aktuell installierten Plugins zu sehen sein

Ist alles vorhanden, dann ist das Backup höchstwahrscheinlich vollständig.

Bonustipp bei zu hoher Serverauslastung

Ich habe noch einen kleinen Tipp, falls eine böse E-Mail von All-Inkl.com kommt oder das Backup immer abbricht. In diesem Fall sollte man die Serverauslastung während der Backup-Erstellung reduzieren. Auch daran haben die Plugin-Entwickler gedacht und eine Option unter BackWPup -> Einstellungen -> Aufträge bereitgestellt. Die Option Server-Auslastung reduzieren macht genau das, sie reduziert die Serverauslastung, indem zwischen dem Prozess Pausen eingelegt werden. Somit dauert die Erstellung des Backups zwar länger, aber der Server arbeitet ruhiger. Mich stört es nicht, da ich ja nicht auf das Backup warte, sondern alles automatisiert ist.

Probiere dich am besten durch die 3 Einstellungen minimum, medium und maximum durch und dann wirst du sehen, welche Einstellung nötig ist, damit das Backup möglichst schmerzfrei erstellt wird.

Das wars soweit. Das ist meine Backup-Strategie und die Anleitung zur Umsetzung. Das System kann man jetzt so links liegenlassen, denn durch die vorgenommenen Einstellungen wird das Backup jeden Monat völlig Automatisch erstellt. Erst dann, wenn man wirklich das Backup braucht, muss man wieder manuell Hand anlegen. Die Wiederherstellung einer WordPress-Installation aus einem Backup ist aber wieder ein ganz anderes Thema. Ich denke darüber schreibe ich demnächst auch mal einen Artikel. Hier gehts zur Kurs-Übersicht.