Server-Backups mit rsync

Wenn Sie von regelmäßigen Server-Backups absehen, haben Sie keine Möglichkeit, verlorene Dateien wiederherstellen zu können. Sicherungskopien sollten daher stets eine wichtige Rolle in Ihrer Serverplanung spielen. Zu den zahlreichen verfügbaren Backup-Lösungen gehört auch das Synchronisierungs-Tool bzw. -Protokoll rsync. Die GPL-lizenzierte Anwendung kann kostenfrei verwendet werden und überträgt Daten von einem Quellverzeichnis in das gewünschte Zielverzeichnis – lokal oder über ein Netzwerk. Dabei werden Dateigröße und Erstellungszeit aller Dateien in Quell- und Zielordner verglichen, sodass bei jeder Synchronisation nur veränderte Dateien kopiert werden müssen. Diese inkrementelle Backup-Variante hat den Vorteil, dass sie schnell ausgeführt werden kann und wenig Speicherplatz in Anspruch nimmt.

Systemübergreifender Datentransfer

Die Kommunikation zwischen Ausgangs- und Zielordner erfolgt standardmäßig durch das Übertragungsprotokoll TCP (Port 873) – sofern ein bereits laufender rsync-Server existiert. Auch der Zugriff über eine unverschlüsselte Remote Shell (RSH) oder eine verschlüsselte Secure Shell (SSH) ist ohne Probleme möglich. rsync läuft auf allen gängigen UNIX-Betriebssystemen und auf Basis von Cygwin – einer Nachbildung der Linux-Softwareschnittstelle – auch auf Windows-Systemen. Darüber hinaus gibt es diverse Synchronisations-Programme für Mac OS X, Windows und Linux, die auf das rsync-Protokoll zurückgreifen. Mit der Software rsnapshot können Sie beispielsweise vollständige, vielstufige Backups erstellen. Selbige bedient sich der Kopierkünste von rsync und erstellt sogenannte Hardlinks aller kopierten Dateien, die keinerlei physikalischen Speicher beanspruchen. Änderungen an Dateien sorgen dafür, dass zunächst die betreffenden Hardlinks aufgelöst werden.

Das Zielverzeichnis, in das das Backup kopiert werden soll, kann sich sowohl auf dem gleichen Rechner als auch auf einem externen Speichermedium befinden. Je nach Umfang handelt es sich dabei um eine portable Festplatte oder aber um einen anderen Server – wenn beispielsweise ein Spiegelserver erzeugt werden soll. Dank der schnellen, komprimierten Übertragung der Dateien überzeugt rsync besonders beim Datenabgleich mit Servern oder Geräten mit schwacher Datenanbindung. Auch die Übertragung zwischen zwei Rechnern im Rechenzentrum ist ein denkbares Szenario. Die folgenden Aspekte zeichnen Backups mit rsync aus:

  • keine täglichen Wartungsarbeiten notwendig
  • komprimierter Datentransfer im Netzwerk
  • mögliche Bandbreitenlimitierung des Sicherungsprozesses
  • sicherer Transfer via SSH-Verbindung
  • Übertragung großer Datenmengen problemlos möglich
  • schnelles Einspielen der Back-ups

Einrichtung von rsync auf Linux-Servern

Um rsync auf Linux-Betriebssystemen einzusetzen, installieren Sie das Protokoll im gleichnamigen Paket und erstellen Ihre Sicherungen mithilfe von Terminal-Befehlen. Alternativ können Sie auf Anwendungen wie Back In Time, rsnapshot (für regelmäßige automatisierte Sicherungen) oder Unison zurückgreifen, die die Steuerung des Backup-Prozesses über ein grafisches Interface ermöglichen. Im Folgenden stellen wir Ihnen am Beispiel von Ubuntu die wichtigsten Schritte bei der Einrichtung und Ausführung von Backup-Prozessen mithilfe von rsync vor:

  1. Standardmäßig ist rsync unter Ubuntu bereits installiert. Sollte dies nicht der Fall sein, holen Sie die Installation über den folgenden Befehl nach:

    sudo apt-get install rsync

  2. Ist rsync installiert, steht Ihnen eine Reihe von Befehlen zur Verfügung, mit deren Hilfe Sie Quell- und Zielverzeichnis und die Backup-Optionen bestimmen können. Die Syntax der Befehle ist folgendermaßen aufgebaut:

    rsync -OPTIONEN/QUELLE ZIEL

    Der Parameter QUELLE gibt den jeweiligen Ort der zu sichernden Dateien an, unter ZIEL wird das Zielverzeichnis definiert. Den Platzhalter OPTIONEN ergänzen Sie durch die gewünschten Einstellungen für die Sicherungskopie.

  3. Um alle Rechte und Eigentümer der Quelldateien auch in der Sicherungsdatei zu übernehmen, empfiehlt sich die zusammenfassende Option -a, die folgende Einstellungen beinhaltet:

    • -r
      • Unterverzeichnisse kopieren

    • -l
      • symbolische Verknüpfungen kopieren

    • -p
      • Dateirechte beibehalten

    • -t
      • Dateizeit bleibt bestehen

    • -g
      • Gruppenrechte der Quelldatei bleiben bestehen

    • -o
      • Behalten der Gruppenrechte

    • -d
      • Gerätedateien beibehalten

  4. Weitere wichtige Optionen zur Konfiguration des Backup-Prozesses:

    • -h
      • die Hilfe für weitergehende Erklärungen aufrufen

    • -u
      • Dateien überspringen, die im Zielverzeichnis aktueller sind

    • -v
      • alle Schritte während des Backup-Verlaufs anzeigen

    • -n
      • Testlauf starten

    • --bwlimit
      • Bandbreite begrenzen; z. B. --bwlimit=30 (Limit von 30 kbit/s)

    • --exclude
      • Ordner von der Synchronisation ausschließen; z. B. --exclude Beispielordner (Der Ordner „Beispielordner“ wird nicht synchronisiert.)

    • --delete
      • Verzeichnisse vergleichen und Dateien, die im Quellverzeichnis nicht mehr vorhanden sind, auch im Zielverzeichnis löschen

    • --stats
      • Bericht im Anschluss an den Sicherungsprozess anzeigen

  5. Es ist ratsam, vom Testlauf (-n) Gebrauch zu machen und die Korrektheit der angegebenen Parameter und Verzeichnisse zu überprüfen; falsche Angaben können im ungünstigsten Fall zu Datenverlust führen. Werden einige Dateien während des Prozesses nicht wunschgemäß kopiert, liegt das oft an fehlenden Zugriffsrechten. Versuchen Sie in einem solchen Fall die Ausführung des Befehls als Administrator:

    sudo rsync -OPTIONEN /QUELLE ZIEL

Sicherung von Windows-Servern mit rsync

Auch für Windows-Nutzer ist das Tool rsync eine interessante und zudem preisgünstige Alternative zu teurer Backup-Software. Damit Sie das Transferprotokoll nutzen können, müssen Sie zunächst jedoch Cygwin installieren. Mithilfe dieser Nachbildung der Linux-Softwareschnittstelle lassen sich diverse Linux-Programme auch auf Windows-Betriebssystemen nutzen. Gehen Sie bei der Installation folgendermaßen vor:

  1. Laden Sie Cygwin über folgenden Link herunter: cygwin.com.

  2. Öffnen Sie den Paketmanager, wählen Sie die Module „rsync“ und „openssh“ aus und installieren Sie diese. Legen Sie im Anschluss eine Verknüpfung im Startmenü oder auf dem Desktop an.

  3. Öffnen Sie das Cygwin-Terminal über die angelegte Verknüpfung und starten die SSH-Konfiguration über den Befehl:
    ssh-host-config (nur möglich, wenn die Eingabeaufforderung als Administrator gestartet wurde – via rechte Maustaste)

  4. Beantworten Sie die ersten Fragen mit „yes“ und die Frage „Do you want to use a different name?“ (Möchten Sie einen anderen Namen wählen?) mit „no“. Kreieren Sie im Anschluss einen neuen User-Account via „yes“ und wählen Sie Ihr persönliches Passwort aus.

  5. Starten Sie den SSH-Dienst mit der Eingabe des Befehls:

    net start sshd

  6. Damit ist die Einrichtung der verschlüsselten Synchronisation mit rsync auf Windows eingerichtet und der Dienst kann über das Cygwin-Terminal mithilfe der bekannten Linux-Befehle verwendet werden. Hierbei müssen Sie allerdings die für Windows typischen Pfade sowie Benutzer und Gruppen beachten.