Automatisierte WordPress-Sicherungen mit BackWPup

Welcher Administrator einer WordPress-Seite kennt das nicht: Nach dem Login werden im Dashboard zahlreiche Benachrichtigungen angezeigt, die eindringlich auf vorhandene, oft wichtige Aktualisierungen hinweisen, welche Sicherheitslücken schliessen oder neue Funktionen ergänzen sollen:

Manche der ausstehenden Updates verleiten dazu, diese allzu vorschnell zu starten, zumal die automatisierten Aktualisierungen in der Regel nur eines einzigen Klicks bedürfen. In den meisten Fällen hingegen wird der Anwender aber auch darauf hingewiesen, doch bitte zunächst ein Backup der WordPress-Installation sowie der Datenbank zu machen. Ein Aspekt, der jedem Administrator sofort einleuchtet (aber nicht immer berücksichtigt wird) und der wiederum dazu verleiten kann, das Backup und deshalb auch das Update zu verschieben.

Wie praktisch wäre es nicht nur in einem solchen Fall, wenn man sich darauf verlassen könnte, ohne viel Aufwand auf ein regelmässiges Backup seiner WordPress-Seite zurückgreifen zu können? Und wie sehr würde es das Einspielen von Updates erleichtern, wenn man unmittelbar vor deren Installation mit einem Klick ein weiteres und damit aktuelles Vollbackup erstellen könnte?

Diese Fragen haben wir uns auch schon gestellt und nach verschiedenen Möglichkeiten gesucht, um das Erstellen von Backups einer kompletten WordPress-Installation zu automatisieren. Eine der Lösungen möchten wir Ihnen heute vorstellen: Das WordPress-Plugin BackWPup, welches in einer kostenlosen und einer erweiterten, kostenpflichtigen Version erhältlich ist. In unserem Beitrag beschränken wir uns auf die kostenfreie Version, die für sehr viele Anwendungsszenarien ausreichend sein dürfte. Ob Ihnen diese Version genügt oder ob Sie aufgrund Ihrer Anforderungen die kostenpflichtige Version einsetzen müssten, können Sie anhand des Feature-Vergleichs herausfinden. Um die Bandbreite der Features und deren unterschiedliche Nützlichkeit in verschiedenen Szenarien darstellen zu können, zeigen wir Ihnen eine beispielhafte Konfiguration des Plugins anhand unserer Blog-Backups etwas detaillierter auf.

Das kostenlose Plugin können Sie direkt über das Dashboard suchen und installieren, ohne es vorher herunterladen zu müssen.
Nach der Installation finden sich die Funktionen und Einstellungen von BackWPup in einem eigenen Menüpunkt im Dashboard.

Zunächst zur Begriffsklärung: Ihre anzulegenden Backups werden in Jobs verwaltet, wobei ein Job einem (automatisierten) Backup entspricht; richten wir ein monatliches Backup ein, wird dieser eine Job einmal pro Monat automatisiert gestartet. Für ein wöchentliches und ein zusätzliches monatliches Backup werden entsprechend zwei Jobs angelegt.

Wir möchten nun das Anlegen eines automatisierten Backup-Jobs durchgehen und dabei auf die verschiedenen Möglichkeiten der Konfiguration verweisen. Nach Klick auf Add new job im BackWPup-Menü beginnt dessen Konfiguration in mehreren Schritten.

 

Im Reiter General werden zunächst grundsätzliche Informationen festgelegt. Der Name des Jobs ist individuell zu vergeben, doch bietet sich gerade dann der Website- oder Projekttitel an, wenn man unterschiedliche WP-Instanzen zu sichern hat; werden mehrere Backups von der gleichen Seite eingerichtet, ist es ratsam, diesem Umstand in der Benennung Rechnung zu tragen (aus Backup_blog.k-webs.ch könnte dann etwa Backup_blog.k-webs.ch_monatlich werden).
Bei den Job tasks haben wir im Beispiel sämtliche Möglichkeiten ausgereizt, sodass ein Vollbackup unserer WP-Seite inklusive der Datenbank entsteht.
Der Archive name entspricht nicht dem Namen des Backup-Jobs. Stattdessen wird hier festgelegt, wie die als Ergebnis des Backups entstehende Datei benannt wird. Dennoch gilt dasselbe wie beim Jobnamen, allerdings sollte von der Möglichkeit Gebrauch gemacht werden, an den Dateinamen den Datums- und Zeitstempel anzuhängen. Spätestens wenn sich einige Backupdateien im gleichen Zielordner angesammelt haben, erleichtert dies die Zuordnung und das Auffinden des letzten Backups erheblich.

Das Format des Backup-Archivs können Sie nach Belieben wählen.
Von grosser Bedeutung für Ihr Backup ist jedoch die Auswahl der Job destination, also des Orts, an dem das Backup nach erfolgreichem Abschluss abgelegt wird. Die ersten vier auswählbaren Möglichkeiten decken vermutlich die meisten Anwendungsszenarien ab: Die komprimierte Backup-Datei wird

a.) in einen bestimmten Ordner auf dem Server abgelegt, auf dem auch WP installiert ist,
b.) als Anhang per E-Mail versandt,
c.) per FTP auf einen anderen Server geladen, oder
d.) in einem Ordner Ihrer Dropbox gespeichert (Google Drive als Ziel wird hingegen nur in der kostenpflichtigen Version unterstützt).

Wofür man sich hierbei entscheidet, hängt von vielen Faktoren ab, zudem haben alle Möglichkeiten sowohl Vor- als auch Nachteile. Diese können wir an dieser Stelle nur rudimentär umreissen:

a.) Landet das Backup auf dem gleichen Server, auf dem auch WordPress liegt, ist bei einem Serverausfall auch kein Zugriff auf das Backup möglich, etwa um die WordPress-Seite auf einem Ausweichserver einzurichten.
b.) Da die beim Backup entstehende Datei recht gross ausfallen kann, ist ein Versand per Mail mit einigen offensichtlichen Hürden verbunden: Beim Versand können verschiedene Fehler auftreten; je nach Empfänger blockiert der Mailserver zu grosse Dateianhänge; die empfangenen Backups müssen wiederum händisch nach einem möglichst durchdachten System an einem möglichst sicheren Ort gespeichert werden.
c.) In manchen Fällen spricht einiges dafür, die Backups auf einem separaten Server abzulegen. Die Vorteile sind nicht zu übersehen: Egal, ob die zu sichernde WP-Installation beispielsweise durch ein fehlerhaftes Update Schaden nahm, oder der gesamte Server das Zeitliche gesegnet hat – das Backup ist extern und kann neu eingespielt werden. Der Nachteil ist dabei sicherlich ebenso offenkundig: Für Privatpersonen oder viele kleine Firmen mit einer WP-Seite lohnt es sich oft nicht, zusätzlichen Speicherplatz auf einem explizit anderen Server anzumieten oder gar einen (zusätzlichen) Backupserver zu betreiben.
d.) Gerade für letztgenannte dürfte die vierte hier angeführte Möglichkeit unter Umständen von Interesse sein – das automatisierte Speichern des Backups in der Dropbox. Für Nutzer des beliebten Cloudspeichers kann dies eine einfache und solide Möglichkeit darstellen, das Backup zu sichern und dank der Dateisynchronisation sowohl in der Cloud als auch auf einem oder mehreren Computern verfügbar zu haben. (Ein redundantes Backup ist dies dadurch freilich nicht – sowie auch ein Speichern und Synchronisieren von lokalen Dateien „in die Cloud“ zwar praktisch ist, aber noch längst kein Backup darstellt. Dazu aber eventuell bei anderer Gelegenheit mehr.)

Für welche Möglichkeit des Backup-Ziels Sie sich auch entscheiden, dem nächsten Konfigurationspunkt sollten Sie Aufmerksamkeit schenken: Geben Sie in jedem Fall Ihre Mailadresse an, um mit den Log-Dateien die Protokolle der Backups zu erhalten. Administratoren mehrerer WP-Instanzen haben zudem die Gelegenheit, an dieser Stelle den automatisierten Mail-Absender zu definieren, was das Auffinden bestimmter Backups bzw. Logs im Posteingang erleichtern kann.
Beachten sollten Sie auch die nachfolgende Checkbox Errors only, die standardmässig aktiviert ist. Das bedeutet, dass Sie nur bei fehlerhaften, nicht aber bei erfolgreichen Backups benachrichtigt werden! Bei einer hohen Backup-Frequenz (täglich, mehrmals am Tag…) ist dies sicherlich wünschenswert, doch es ist bei monatlichen oder gar vierteljährlichen Updates durchaus ratsam, sich in jedem Falle benachrichtigen zu lassen (also die Checkbox abzuwählen), um sich des erfolgreichen Backups zu versichern. Wie detailliert die Protokolle ausfallen, kann an anderer Stelle festgelegt werden (siehe unten).

Haben Sie Ihre Auswahl getroffen, speichern Sie die Änderungen und wechseln Sie in den nächsten Reiter Schedule.

Hier lässt das Plugin mehrere Konfigurationen zu, die seine Stärke ausmachen: Einen Backup-Job, der immer nur dann gestartet werden soll, bevor Sie beispielsweise Updates einspielen, legen Sie idealerweise als manuell fest.
Sehr gut und absolut einfach umsetzbar ist aber die Möglichkeit des regelmässigen terminierten Backups. Aktivieren Sie Start job with WordPress cron, können Sie den Intervall sowie den jeweiligen Zeitpunkt des Backups anlegen, und es wird automatisch ein WP-Cronjob eingerichtet, also ein Prozess, der zu bestimmten Zeiten ausgeführt wird.
In unserem Beispiel haben wir es uns einfach gemacht, sind im Basic-Scheduler geblieben und haben festgelegt, dass das Backup am ersten jeden Monats morgens um 3 Uhr gestartet wird.

In den hierauf folgenden Schritten wird nun festgelegt, welche Inhalte alle in das Backup aufgenommen werden bzw. was explizit von der Sicherung ausgenommen wird. Bitte beachten Sie, dass die folgenden Schritte davon abhängen, wie Sie den Backup-Job im Reiter General definiert haben. Machen Sie kein Vollbackup, erscheinen manche der im folgenden angeführten Reiter nicht.
Begonnen wird mit der Datenbank; BackWPup ist glücklicherweise in der Lage, nicht nur die Dateien- und Ordnerstruktur, sondern auch die WP zugrunde liegende Datenbank zu sichern. Dabei haben Sie sogar die Möglichkeit, bestimmte Tabellen auszulassen.
Die optionale Komprimierung des DB-Backups zeigte in unseren Tests keinen nennenswerten Vorteil; dennoch sind Szenarien denkbar, in denen diesem Feature erhöhte Bedeutung zukommt.

Im folgenden Schritt legen Sie analog dazu fest, welche Dateien und Ordner explizit ausgeschlossen werden sollen. Standardmässig sichert BackWPup die gesamten Inhalte und schliesst lediglich den Cache, den Upgrade-Ordner sowie „sich selbst“ aus. Je nach Konfiguration kann erwünscht sein, weitere Ordner nicht in das Backup zu integrieren.
Wichtige Einstellungen verbergen sich am unteren Rand des Files-Reiters:

In diesen Special options kann festgelegt werden, dass essentielle Konfigurationsdateien in das Backup einbezogen werden, auch wenn deren Verzeichnis grundsätzlich ausgeschlossen wurde. Ausserdem lässt sich hier festlegen, dass das Backup einen Schritt in der Verzeichnisstruktur „über“ dem herkömmlichen WP-Installationsordner ansetzt – was in manchen Fällen dringend erforderlich sein kann, in anderen wiederum absolut unerwünschte Nebeneffekte zeitigt. Haben Sie WP „normal“ installiert ohne spezielle Konfigurationen auf dem Server, können Sie die Checkbox durchaus unausgewählt lassen.

Im Reiter XML-Export kann eine Sicherungsdatei der Art in das Backup eingeschlossen werden, wie sie sich auch mit WP-Bordmitteln erzeugen lässt. Der hierüber integrierte Teil des Backups entspricht jener Sichrungsdatei, die im WP-Dashboard unter Werkzeuge > Daten exportieren erstellt werden kann.

Der Reiter Plugins birgt ein weiteres nützliches und auf den ersten Blick oft unterschätztes Feature. Dabei wird schlicht und ergreifend eine Liste aller in Ihrer WP-Installation vorhandener Plugins erestellt und gesichert. Es sind diverse Fälle denkbar, in denen dies äusserst hilfreich sein kann, nicht nur bei einer Neuinstallation von WordPress aus einem evtl. nicht vollständigen Backup oder einem reinen Datenbackup ohne inkludierte Plugins.

Im folgenden Schritt legen Sie fest, ob BackWPup die gesicherte Datenbank testen soll sowie, ob bei eventuellen Fehlern ein Reparaturversuch erfolgt. Der DB Check ist dabei sicherlich kein Fehler, zumal hierüber in den Logdateien berichtet wird und daraufhin reagiert werden kann. Ob man allerdings seine DB von einem WP-Plugin reparieren lassen möchte, sei dahingestellt.

Im letzten Schritt der Konfiguration wird das Backup-Ziel näher spezifiziert. Da wir uns anfangs für ein Backup to folder entschieden haben, müssen wir den gewünschten Pfad an dieser Stelle angeben. Wichtig ist an dieser Stelle auch der Punkt File deletion, in welchem festgelegt wird, wie viele Dateien (und damit Backups) im Zielordner maximal angelegt werden. Ist diese Zahl erreicht, wird mit jedem neuen Backup das älteste gelöscht.

Die Einrichtung des Jobs ist hiermit abgeschlossen; dieser kann nun im BackWPup-Dashboard unter Jobs eingesehen und unabhängig von der Konfiguration im Scheduler auch manuell gestartet werden; bei MouseOver erscheint nicht nur die Möglichkeit, den Job zu löschen oder zu editieren, sondern auch diesen sofort zu starten. Es bietet sich freilich an, einen terminierten Job zumindest einmalig manuell zu testen.

In unserem Beispiel wurde das Backup in 16 Sekunden und fehlerfrei erstellt. Was dabei genau passiert ist, wollen wir dem Protokoll entnehmen, weshalb wir wie beschrieben das Häkchen entfernt haben, das die Einschränkung vornimmt, nur bei fehlerhaften Backups die Logs per Mail zu versenden.

Im Posteingang haben wir nun ein Protokoll erhalten, das die wesentlichen Aspekte des Backups beinhaltet:

Will man ein ausführlicheres Protokoll seiner Backup-Jobs, lässt BackWPup auch dies zu. Dafür können in dessen Settings im Reiter Logs verschiedene Protokollierungsarten ausgewählt werden. Obiges Beispiel zeigt die Standardeinstellung Normal (translated). Die ausführlichsten Protokolle erhalten Sie mit der Einstellung Debug (not translated). Diese sehen dann in etwa wie folgt aus – wobei hier noch einige Passagen gekürzt wurden:

Sollte das Protokoll im Ergebnis bei Ihnen ähnlich aussehen: Herzlichen Glückwunsch, Sie haben Ihre WP-Installation und -DB erfolgreich gesichert und künftig findet dies, sofern eingerichtet, in regelmässigen Abständen statt, ganz ohne dass Sie hierfür weiter tätig werden müssen.
Doch um ganz sicherzugehen – unabhängig vom Protokoll – empfehlen wir Ihnen, einen Blick auf das von Ihnen gewählte Sicherungsziel zu werfen. In unserem Falle ein Ordner auf dem Server, auf dem auch unser WP-Blog liegt (standardmässig darin im Ordner uploads). Und siehe da:

BackWPup hat alle Backups erfolgreich angelegt, ausgeführt, an das gewünschte Ziel kopiert und uns detailliert darüber in Kenntnis gesetzt. Für ein kostenlos nutzbares Plugin erscheint uns das vorbildlich. In der kostenlosen Version haben wir zudem kein Feature schmerzlich vermisst; vielmehr waren wir an manchen Stellen angetan davon, was uns hier an Konfigurationen geboten wird.
Gewiss, dieses Plugin stellt lediglich eine von vielen Möglichkeiten dar, WordPress und die dazugehörigen Datenbanken zu sichern, allerdings eine sehr ausgereifte und auch höheren Ansprüchen genügende. Wie sind Ihre Erfahrungen mit diesem Plugin? Kennen und nutzen Sie eine andere Möglichkeit zur Sicherung? Hatten Sie Schwierigkeiten bei Einrichtung oder Ausführung? Wie immer freuen wir uns auf Ihre Kommentare.
Für weitere Informationen zum Thema stehen wir Ihnen natürlich zur Verfügung – nehmen Sie Kontakt mit uns auf!

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.