Home Menü

Mac OS – Backup mit rsync

Eingefleischte Unix-Fans kennen rsync bestens. Aber auch unter Mac OS X ist das kleine Programm vorhanden und kann dem Anwender bei der Sicherung seiner Daten sehr nützlich sein. Lesen Sie in diesem Artikel, wie Sie rsync unter Mac OS X nutzen und damit gezielt Verzeichnisse für ein Backup vorbereiten.

Einführung

Das Programm rsync ist eine unter der GPL stehende Synchronisationslösung zum Abgleich von Dateien zwischen lokalen oder über das Netzwerk erreichbaren Pfaden. Dabei setzt das Programm zunächst auf einen sehr einfachen Vergleich: Es wird zunächst nur die Größe und die Erstellungszeit der Dateien in der Quelle und im Ziel verglichen. Stimmt Quelle und Ziel überein, so werden die Dateien nicht synchronisiert, andernfalls findet ein Datenabgleich zwischen Quelle und Ziel statt.

Wichtig ist hierbei auch, dass rsync unidirektional (d.h. nur in eine Richtung) funktioniert. Man kann damit keine beidseitige Synchronisation von zwei Ordnern über ein Netzwerk realisieren, sondern nur einseitig von einer Quelle zum Ziel.

Rsync vs. Time Machine Backup

Einige Mac OS X Nutzer mögen sich an dieser Stelle vielleicht fragen: Warum soll ich jetzt rsync nutzen wenn es doch Time Machine gibt?

Im folgenden seien ein paar Gründe dafür genannt:

  • Weder Quell- noch Ziel-Verzeichnis müssen in irgendeiner Weise mit rsync kompatibel sein, da das Programm die Dateien nur kopiert.
  • Mit rsync wird eine 1:1 Kopie Ihrer Daten auf einem anderen Datenträger erstellt. Dadurch ist es Ihnen jederzeit möglich, einfach eine Datei aus dem Backup auszuwählen und diese zu kopieren (ohne ein zusätzliches Programm zu benötigen).
  • Benötigt in der Regel weniger Speicherplatz, da immer das gleiche Verzeichnis synchronisiert und keine Datenhistorie angelegt wird.
  • Die Synchronisation von Verzeichnissen kann exakt konfiguriert und nachverfolgt werden.

Für mein ursprüngliches Vorhaben waren vor allem Punkt 2 und 4 entscheidend: Meine wichtigen Dateien und Verzeichnisse sollten als 1:1 Kopie auf meinem Fileserver (oder NAS) abgelegt werden und direkt zugreifbar sein (ohne Software). Die einfachste Lösung dafür lautet rsync.

Natürlich schließt die Verwendung von rsync die Verwendung von Time Machine nicht aus. Ganz im Gegenteil: Eine doppelte Sicherung seiner Dateien (falls möglich sogar auf unterschiedlichen Datenträgern) bringt zusätzliche Sicherheit.

Mac OS X und rsync

Das Programm rsync ist im Standard unter Mac OS X installiert (aktuell in der Version 2.6.9) und kann über das Terminal mit dem gleichnamigen Befehl rsync aufgerufen werden:

  1. Terminal starten
  2. Mit folgendem Befehl können Sie sich alle Optionen von rsync anzeigen lassen:

    rsync --help

Backup mit rsync

Um nun unter Mac OS X ein Verzeichnis zu synchronisieren (im Beispiel den Musik-Ordner von iTunes), können Sie im Terminal folgenden Befehl nutzen:

rsync  -aze ssh --delete ~/Music/iTunes/ /Volumes/Daten/Backup/iTunes/

Erläuterung:

  • rsync leitet den Aufruf des Programms ein
  • -a (archiv): Bewirkt das Selbe wie die Parameterfolge -rlptgoD
    • -r (recursive): Unterverzeichnisse kopieren
    • -l (links): Symbolische Links werden kopiert
    • -p (perms): Dateiberechtigungen der Quelldatei beim Kopieren beibehalten
    • -t (times): Zeitstempel der Quelldatei beim Kopieren beibehalten
    • -g (group): Gruppenrechte der Quelldatei beim Kopieren beibehalten
    • -o (owner): Besitzrechte beibehalten
    • -D (devices specials): Spezielle Dateien werden ebenfalls mit kopiert
  • -z (compress): Die Dateien werden von der Quelle zum Ziel komprimiert übertragen
  • -e ssh: Daten werden per SSH getunnelt, sofern man zum Ziel per SSH Zugang hat.
  • –delete: Dateien im Zielverzeichnis werden entfernt, wenn diese auch im Quellverzeichnis gelöscht wurden

Der Pfad ~/Music/iTunes/ gibt das Quellverzeichnis an (~ ist analog dem Pfad: /Users/IhrBenutzername). Der letzte Pfad das Zielverzeichnis: /Volumes/Daten/Backup/iTunes/

Backup mit rsync via Skript

Müsste man obige Befehlszeile bei jedem Backup erneut eingeben, wäre das sehr mühselig. Deshalb bietet es sich an, dass man alle rsync-Befehlszeilen kombiniert in einer Skript-Datei angibt und bei einer Datensicherung nur das Skript ausführt.

Dazu gehen Sie wie folgt vor:

  1. Legen Sie mit einem Textprogramm (z.B. TextWrangler) eine neue Datei an.
  2. Fügen Sie alle Ihre rsync-Befehle in diese Datei ein.
  3. Speichern Sie die Datei ohne Dateiendung an einen beliebigen Ort (Empfehlung: In das Verzeichnis /Users/IhrBenutzername/Documents)

  4. Terminal starten
  5. Im nächsten Schritt muss das zuvor angelegte Skript noch ausführbar gemacht werden. Dies geschieht im Terminal mit folgendem Befehl:

    sudo chmod +x /Users/IhrBenutzername/Documents/MyBackupScript

    Nachdem Sie den Befehl im Terminal bestätigt haben, müssen Sie noch Ihr Kennwort eingeben.

  6. Anschließend können Sie das Skript im Termin mit folgendem Befehl ausführen:

    Users/admin/Documents/MyBackupScript

Fazit

Zu Beginn scheint der Umgang mit rsync etwas kompliziert zu sein. Allerdings legt sich dieses Vorurteil recht schnell und man hat mit Mac OS X Boardmitteln eine sehr schnelle und effiziente Möglichkeit ein Backup seiner wichtigsten Dateien zu erstellen.

Getestet unter Mac OS X Mountain Lion 10.8(.3) und rsync 2.6.9

Veröffentlicht von Josef Seidl

Josef Seidl hat an der TU München und der Stanford University Wirtschaftsinformatik studiert, bevor er mit INNOSPOT sein eigenes Unternehmen gründete. Er ist begeistert von Technik, schätzt performante Webseiten und ist gerne in den Bergen unterwegs. Zu finden ist er auch bei LinkedIn und privat bei Twitter.

2 Kommentare » Schreibe einen Kommentar

  1. Ich halte im Moment Ausschau nach einer neuen Backup-Lösung. Rsync scheint nicht für das Backup von sagen wir 50 GB nicht geeignet zu sein wo der Upload alleine 2 Wochen dauert und man den Rechner zwischendurch mal runterfährt wie es aussieht. Das Tutorial hier ist aber sehr gut gemacht ich mache mir auf jeden Fall ein Bookmark.

  2. Vielen Dank. Ich war auf der Suche, einzelne Teile meiner Synology NAS zusätzlich auf einer externen USB HDD zu sichern. Da Timemachine offenbar keine Netzwerk-Shares mit in’s Backup aufnehmen kann (sondern nur die lokale HDD sichern kann) und mir das Geld für Programme wie carbon copy cloner zu schade war, ist diese Methode hier genau das, was ich gesucht habe. Ich habe mir wie beschrieben ein kleines Script erzeugt, das alle gewünschten Shared Folders des NAS auf eine externe HDD kopiert. Funktioniert einwandfrei und ist kostenlos.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.