Sicherungen von Web Applikationen auf root Server (mit rsync und mysqldump)

In erster Linie hat man seinen root Server im Netz um Web Applikationen wie Blogs, Bilderalben, etc.. anzubieten. Das man mit einem root Server auch ein wenig mehr Verantwortung übernimmt als bei normalen Webhosting Paketen hatte ich ja auch schon in einem anderen Artikel geschrieben.

Ein wichtiger Punkt ist natürlich regelmäßige Backups seiner Anwendungen zu erstellen.

Die „Standard Web-Anwedung“ besteht in der Regeln aus zwei Komponenten… der Code, welcher über den Webserver zu Verfügung gestellt wird und den Datenbankanteil, welche meist in einer mysql Datenbank schlummert.

Und genau für diese Standard Installation reicht ein Zweizeiler Skript um tägliche Sicherungen zu erstellen!

Für meine Sicherungen nutze ich für die Dateien rsync und für die Datenbanken mysqldump.

Schritt 1 (Dateien sichern):

rsync -av /var/www/PFAD_ZUR_SEITE /store/backup/backup_files

Mit diesem Befehl werden alle Dateien aus eurem Applikations Ordner (/var/www/PFAD_ZUR_SEITE) in den Backup Ordner (hier: /store/backup/backup_files) synchronisiert. Man sollte für solche Aktionen grundsätzlich rsync verwenden, da dadurch sichergestellt ist, dass die Dateien auch sicher im Zielverzeichnis landen. Das ist bei cp nicht sichergestellt. Der Parameter -a stellt sicher, dass auch die Verzeichnis.- und Dateirechte, Symlinks, etc mitgenommen werden. Der Parameter -v macht die Aktion einfach etwas gesprächiger. Bei manuellem Aufruf sicher interessant, über einen Cronjob nicht zwingend notwendig.

Schritt 2 (Datenbank sichern):

mysqldump DATENBANK_NAME --user=DATENBANK_BENUTZER --password=DATENBANK_PASSWORT > /store/backup/backup_sql/data.sql

Mit dieser Zeile wird ein kompletter Dump der Datenbank erzeugt und in eine Datei geschrieben. Die erforderlichen Werte für den Namen der DB, des Benutzers und des PWs sollten euch natürlich vorliegen.

Das wars, mehr ist nicht zu tun. Diese beiden Zeilen bieten sich natürlich hervorragend an um sie in ein Skript zu gießen, welches einmal in der Nacht als Cronjob läuft. Somit muss man sich nicht mehr um die Sicherung seiner Seiten kümmern und vor allem ist die Arbeit dafür sehr überschaubar.

Beide Befehle lassen sich auch sehr einfach ändern, um die Aktion umgekehrt zu erledigen, nämlich um ein Backup wieder einzuspielen.

rsync  -av /store/backup/backup_files/ORDNER_MIT_DATEIEN /var/www/PFAD_ZUR_SEITE
mysql --user=DATENBANK_USER --password=DATENBANK_PASSWORT DATENBANK_NAME < /store/backup/backup_sql/data.sql

Dieser Zweilzeiler spielt eure Daten und Dateien wieder ein. Bei Import der Daten wird nicht mit mysqldump gearbeitet, sondern mit mysql.

Also, immer schön Backups erstellen. Viel ist dafür nicht zu tun.

Flattr this!