Artikelformat

Blog-Sicherung – Lohnt das den Aufwand?

In Stein gemeißelt

Die 10 Gebote - von Rebecca Roach

Ob wir unseren Blog hier upbacken tun, will man beim Webmaster-Friday (oder auch mal -Monday) wissen.

Natürlich tun wir das. Hier wird stunden- und tagelang recherchiert, geschrieben, redigiert, unter Tränen weggeschmissen und neu verfasst. Nicht auszudenken, wenn die ganze Arbeit auf einmal weg wäre. Und wenn man erst an die Nachwelt denkt, was würden die ohne unsere Erkenntnisse tun? Also wird hier auch gesichert!

Dieser Blog läuft auf einem sogenannten Linux-VServer, einer virtuellen Maschine auf welche wir direkten Zugriff auf die Konsole per SSH haben. Daher fiel die Entscheidung zu Gunsten einer klassischen Backup-Lösung mittels Unix-Bordmitteln anstatt eines der zahlreich verfügbaren WordPress-Plugins zu nutzen. Gerade bei Plugins ist weniger oftmals mehr.

Das Backup-Skript läuft täglich einmal als Cronjob und sieht so aus:

#!/bin/bash

cd /home/ich/backup

tar -czf blog.tgz /verzeichnis/wo/wordpress/drin/liegt/
mysqldump -pbrutalgeheim -u datenspion wp > datenbank.sql
chown -R ich /home/ich/backup

Was passiert hier alles? Die erste Zeile fängt mit dem sogenannten Shebang an und gibt an, welcher Interpreter dieses Skript ausführen soll. In diesem Fall ist das die Bourne-again Shell. Dann wechselt das Skript in das Verzeichnis in welchem die Sicherung abgelegt werden soll. Nun folgt die Sicherung des Blog-Verzeichnisses, also das Verzeichnis in dem WordPress liegt – oder auch die ganze Website, falls die aus mehr als dem Blog besteht. Damit wären auch alle Theme-Dateien gesichert. Dann folgt die Sicherung der Datenbank mittels mysqldump. Die hier erzeugte Datei datenbank.sql ist einfach eine Textdatei die SQL-Befehle enthält und durch einfaches Ausführen dieser Befehle die Datenbank wiederherstellt.

Damit wäre der Blog komplett in zwei Dateien gesichert. Die erste, blog.tgz ist ein mit gzip komprimiertes TAR Archiv, die zweite eine einfache unkomprimierte Text-Datei. Da das Backup-Skript als Benutzer root, also als Systemverwalter läuft, gehören diese Dateien dem Systemverwalter. Um die Backup-Files mit einem normalen Benutzer abholen zu können, werden sie mit dem Befehl chown (Change Owner) dem Benutzer ‚ich‘ (Name von der Red. geändert) übergeben.

Um diesen Backup nun von einem anderen Rechner aus abzuholen nutzt man diesen Befehl:

rsync -avze ssh www.meinserver.de:/home/ich/backup/ .

Damit wird über das SSH Protokoll eine Synchronisation des entfernten Verzeichnisses /home/ich/backup auf dem Rechner www.meinserver.de mit dem aktuellen Verzeichnis auf dem lokalen Rechner erreicht. Rsync gibt es auch für Windows. Einer der Hauptvorteile von RSync ist der blockweise Abgleich der Quell- und Zieldateien, so dass nur die geänderten Blöcke übertragen werden.

Ein Nachteil bei der hier beschriebenen Methode ist die Notwendigkeit, das Server-Passwort eingeben zu müssen. Dem kann man durch Nutzung des Public/Private Key Verfahrens abhelfen.

Durch Nutzung des oben beschriebenen Skripts auf dem Server und dem RSync-Kommando auf einem weiteren Rechner hat man eine – hoffentlich aktuelle – Sicherung des Blogs. Um auch auf ältere Versionen Zugriff zu haben, nutzen wir Subversion um die Backups auf dem Server zu versionieren. Dieses Subversion Repository wird dann ebenfalls über RSync auf einen PC synchronisiert. Probleme mit dem Speicherplatz haben wir bisher noch keine bekommen. Zur Not kann man auch mal ältere Versionen aus dem Subversion-Repository rauslöschen. Bisher war das aber noch nicht notwendig.

Ganz schön viel Computerchinesisch hier. Bei Fragen einfach fragen.

Wie andere sichern

Ähnliche Beiträge:

1 Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.