Offsite-Backup für WordPress-Website

Der Hoster meiner Wahl kümmert sich natürlich um Backups von den Daten und der Datenbank. Aber ist es ausreichend, wenn sich nur der Hoster um die Backups kümmert? Im Wiki von Uberspace wird dazu folgendes geschrieben:

Auch wir kochen nur mit Wasser und ein Backup ist erst ein Backup, wenn es an mindestens zwei unterschiedlichen Orten liegt. Verlasst euch also bitte nicht komplett auf uns, sondern macht selbst Backups eurer Daten und legt diese an einem anderen Ort ab. Aktuell verteilen wir die Backups nicht über mehrere Rechenzentren, die Backupserver stehen am gleichen Ort wie die Server selbst. Wir überlegen bereits, ob und wie wir das in Zukunft am besten realisieren können.
Uberspace Wiki

Damit sollte die Frage beantwortet sein. In diesem Artikel soll es um ein zusätzliches Backup von einer WordPress-Seite auf die Storage Box von Hetzner gehen.

Für relativ wenig Geld bietet Hetzner Speicherplatz an, der über unterschiedliche Protokolle angesprochen werden kann. Dazu gehören z.B. FTP, FTPS, SFTP, SCP, Samba oder WebDAV. Neben dem Preis und den umfangreichen Protokollen, ist es für mich auch wichtig gewesen, dass der Backup-Speicher in keinem Zusammenhang mit Uberspace steht. Auf Nachfrage hat Uberspace mir mitgeteilt, dass die Rechenzentren von Uberspace in keinem Zusammenhang mit Hetzner stehen und man somit das Backup an einem anderen Standort speichert.

WordPress-Plugin BackWPup

Der einfachste Weg ein Backup von WordPress zu erstellen, ist mit Hilfe des Plugins BackWPup. Das Plugin erstellt ein vollständiges Backup und kann dies an unterschiedlichen Orten ablegen. Unter anderem auf einem FTP-Server.

In den Einstellungen kann man auswählen was alles gesichert werden soll. Da muss natürlich jeder selbst entscheiden was gesichert werden soll. Um das Backup einigermaßen schlank zu halten, habe ich die Option aktiviert, dass die generierten Bilder nicht mit in das Backup aufgenommen werden. Denn diese lassen sich mit Hilfe der Originaldateien wieder neu generieren.

Da es sich um ein zusätzliches Backup handelt, lass ich die letzten 5 Backups aufheben. Ältere Backups werden vom Plugin gelöscht.

Ausführung des Backups mittels WP-CLI und Cronjob

Damit das Backup zuverlässig jede Nacht erstellt wird, habe ich mich dazu entschieden das Backup über einen Cronjob und der WP-CLI zu starten. Wie du die WP-CLI auf deinem Uberspace installierst, habe ich in einem anderen Artikel erklärt. Man kann auch den WordPress Cron nutzen, jedoch läuft der nur, wenn zum Zeitpunkt der Ausführung auch Besucher auf der Seite sind. Für mich ist der WordPress Cron nicht zuverlässig genug, weshalb das Backup von einem Cronjob ausgeführt wird.

PATH=/home/<DEINUSERNAME>/bin:/usr/bin:/bin

0 2 * * * cd /home/<DEINUSERNAME>/path/wordpress && wp backwpup start 1 >/dev/null 2>&1

In diesem Fall wird zuerst in den Ordner gewechselt, in dem WordPress installiert ist, und dann das Backup mit der WP-CLI gestartet. Man kann der WP-CLI auch den PATH zu dem Ordner in einem Parameter mitgeben, jedoch funktioniert dann das Ignorieren von generierten Bildern nicht. Die Job-ID, die hinter start angegeben werden muss, lässt sich der URL entnehmen, wenn man einen Auftrag von BackWPup im Browser offen hat.

Da ich nicht jede Nacht die Ausgabe von dem Cronjob per Mail zugeschickt bekommen möchte, wird dies mit >/dev/null 2>&1 verhindert.

In den Optionen von BackWPup lässt sich einstellen, dass eine Mail verschickt wird, wenn das Backup mit einem Fehler beendet wurde.

Überprüfung, ob das Backup fehlerfrei und vollständig ist

Was bringt das beste Backup, wenn es sich nicht wiederherstellen lässt? Okay, man könnte jetzt argumentieren, dass es noch das Backup von Uberspace gibt und die Chance, dass beide Backups versagen, eher gering ist. Jedoch lässt sich dieses Risiko minimieren, in dem man überprüft, ob man das Backup, das von BackWPup erstellt wurde wiederhergestellt werden kann. Da ich z.B. kein vollständiges Backup erstelle, sollte zusätzlich überprüft werden, ob das Neugenerieren der Bilder funktioniert. Für diese Aufgabe kann ich die WP-CLI empfehlen, damit lässt sich mit dem Befehl wp media regenerate die Thumbnails neu erstellen.

Einfaches und kostengünstiges Offsite-Backup für WordPress-Website

Wenn ein Backup nötig ist, dann werde ich vermutlich auch weiterhin erst auf die Backups von Uberspace zugreifen. Aber eine gute Strategie für Backups kann nie schaden, denn die Daten von einer Website will man vermutlich unter keinen Umständen verlieren. Unabhängig davon, ob es die eigene Website ist oder die Website eines Kunden. Natürlich kann man die Storage Box auch für das Backup von mehreren Websites nutzen.

Vermutlich verwendest du einen veralteten Browser. Da diese Website auf moderne Technik setzt, benötigst du einen aktuellen Browser, um diese Website richtig darzustellen.