Version 1.0
Stand: 22.05.2009
Author: Centro
E-Mail: centro@tux-town.ath.cx
Jabber: centro@jabberarea.de
Dieses Howto beschreibt die Installation und Bedienung auf einem Server.
Bevor ihr loslegt, beachtet bitte die folgenden Regeln:
DU alleine bist für die komplette Installation, Absicherung und Wartung des Servers verantwortlich!!!
rsync ist sowohl ein Netzwerkprotokoll als auch ein unter der GPL stehendes Programm zur Synchronisation von Daten meistens über ein Netzwerk. Die Synchronisation läuft bei dem Programm rsync nur unidirektional, also von einem Quellverzeichnis zu einem Zielverzeichnis, ab.
Rsync ist unter allen Architekturen und Betriebssystemen lauffähig! - Windows, MAC und Linux!
Debian & Ubuntu:
apt-get update && apt-get install rsync ssh
Suse:
yast -i rsync* openssh*
Fedora & Centos:
yum install rsync ssh
Gentoo
emerge -i rsync
Datenbanken
Hier muss beachtet werden was für Dateien auf dem Server liegen. Wenn ich meinen Webserver am neuen Standort schon soweit laufen habe das ich eine Grundinstallation habe dann gibt es Sinn die Datenbanken einzeln per Mysqldumb zu sichern und auf dem neuen System wiederher zu stellen. Ich beschreibe hier das Verfahren mit MySQL Server 5 auf Linuxbasis. Das Vorgehen bei PostgreSQL etc ist das selbe.
Sicherung der Datenbanken
Backupordner anlegen
mkdir /BACKUP-MYSQL
Datebanken können mit dem jeweiligen DB Usern aber auch mit dem User Root gesichert werden. Aussehen muss das so:
mysqldump -uroot -pPASSWORT datenbank > /BACKUP-MYSQL/datenbank.sql
… und das mit jeder Datenbank die ihr auf dem Server2 wieder haben möchtet.
Gleich mal vorab um alles zentral zu haben auch der Befehl um die Datenbanken auf dem System des Server2 wiederher zu stellen:
Es wird vorausgesetzt das die nötige Leerdatenbank mit User und Pw bereits angelegt ist!
mysql -uroot -pPASSWORT datenbank < /BACKUP-MYSQL/datenbank.sql
Spiegelung der Dateien
Nach Auswahl der gewünschten Ordner starten wir nun den Rsync von Server1 nach Server2
Rsync überträgt alle Daten unverschlüsselt. Ich lege schon einen gewissen Wert darauf das meine Daten etwas geschützt werden. Daher greife ich hier auf die Verschlüsselung des SSH Tunnels zurück.
rsync -e "ssh -p 22" -avzA / --progress --exclude=/etc/fstab --exclude=/etc/resolv.conf --exclude=/sys --exclude=/proc --exclude=/tmp --exclude=/vmlinuz --exclude=/etc/network/ --exclude=/boot root@SERVER2:/
Was sagt dieser lange Befehl aus?
Wärend des Transfers am besten nichts mehr am Server1 aber auch am Server2 verändern. Lasst den Server1 einfach mal nen paar Stunden (je nach größe der Dateien natürlich) laufen und fröhlich kopieren. Es bietet sich an den Start in einem „Screen“ Fenster laufen zu lassen!
Sicherlich hat euer neuer Server eine neue bzw. abweichende IP vom SERVER1. Die alte bzw. bestehende IP vom SERVER1 steht aber in den Datenbanken und in dein einzelnen Konfigs. Speziell bei Controllpanels ist hier die Änderung in der Datenbank sowie in den Configdateien nötig!
Ein paar Links die sich als nützlich erwiesen haben:
ISPCP Omega & VHCS2
ISP-Control Website - Howto Change IP
Um Rsync für ein automatisches Backup zu nutzen ist es erforderlich den SSH Login per Keyauth zu realisieren.
Wie man diesen auf dem Server1 zu Server2 einrichtet ist hier erklärt!
SSH Key Auth Howto
Rsync lässt sich unter Linux auch über das grafische Interface GRSYNC steuern
Rsync für Windows! - Die Funktion wird über ein cgi-win Modul bereitgestellt. Näheres zur Funktion findet man kurz erklärt im passenden Rsync Paket für Windows.
Downloadlink für Rsync.zip Datei - Rsync für Windows!
Kurzanleitung zu Rsync unter Windows:
Es soll das Datenverzeichnis „C:\Daten“ auf eine externe USB-Festplatte „U:\Backup“ abgeglichen werden.
Als erstes muss die Datei rsync.zip unter C:\Scripte sync entpackt werden. In diesem Verzeichnis befindet sich die Datei backup.cmd welche folgendermaßen abgeändert wird (mit Notepad oder einem anderen Texteditor): rsync.exe -a -v –delete /cygdrive/C/Daten/ /cygdrive/U/Backup
Der eine oder andere wird sich vielleicht über die Schreibweise wundern, da erstens statt dem Backslash normale Slashs verwendet werden und zweitens vor jeder Pfadangabe „cygdrive“ vorangestellt wird. Ohne zuweit auschweifen zu wollen muss man einfach nur wissen, dass man es so machen muss *g* - Hintergrund ist nämlich die Linux-Emulation von Cygwin… Nach dem Speichern der Datei backup.cmd kann diese nun per Doppelklick ausgeführt werden. Es öffnet sich ein schwarzes Fenster (Kommandozeile) und arbeitet die Synchronisation ab. Je nach Umfang und Größe der Dateien nimmt das beim ersten Mal etwas mehr Zeit in Anspruch, als ein normaler Kopierbefehl.
Tipp: Sollte sich ein Leerzeichen im Pfad befinden, einfach den kompletten Pfad unter Anführungszeichen setzen!