Datensicherung mit rsync unter macOS

Aktualisiert am 18. September 2020

Abgesehen von dem in einem anderen Artikel vorgestellten Kopierkommando cp, gibt es unter UNIX-artigen Systemen eine weitaus bessere Möglichkeit, über die Kommandozeile Dateien zu sichern: das Programm rsync. Damit lassen sich inkrementelle Backups erstellen. Damit ist gemeint, dass nicht jedes mal alle Dateien neu gesichert werden, sondern nur solche, die neu hinzugekommen sind oder geändert wurden.

Das möchte ich an einem kleinen Beispiel veranschaulichen. Angenommen Ihr beabsichtigt ein inkrementelles Backup von Eurem iTunes-Ordner anzulegen, der in der Regel unter

$ /Users/[username]/Music/

zu finden ist. Probiert es selbst einmal aus. Öffnet das Terminal und gebt folgende Kommandos ein:

$ cd /Users/bodo/Music/ && ls

Freilich müßt Ihr den Benutzernamen “bodo” durch Euren Benutzernamen ersetzen. Ihr solltet als Ergbnis “iTunes” (bzw. ab macOS 10.15 Catalina „Musik“) erhalten. Im folfenden spreche ich immer vom iTunes-Ordner. Falls Ihr Catalina oder eine neuere Version nutzt, müsst Ihr „Musik“ verwenden.

Der iTunes-Ordner soll nun auf der externen Festplatte “Backups” gesichert werden. Festplatten werden unter macOS standardmäßig unter “Volumes” eingehängt. Schließt Ihr eine exerne Festplatte an Euren Mac an und gebt

$ cd /Volumes && ls

ein, seht Ihr – abgesehen von der internen Festplatte (in der Regel “Macintosh HD”) – auch die angeschlossene externe Festplatte.

Ähnlich wie beim Kommando cp kennt rsync ebenfalls die Option -a (für archive). Häufig verwende ich zusätzlich ‘-v’ (für verbose), womit zahlreiche Meldungen zum Backup-Vorgang ausgegeben werden.

$ rsync -av /Users/[username]/Music/iTunes /Volumes/Backups

Auch hier gilt: Als “username” verwendet Ihr Euren Benutzernamen und anstelle von “Backups” nutzt Ihr den Namen Eurer externen Festplatte.

Wichtiger Hinweis: Bei rsync ist die Verwendung der richtigen Syntax von besonderer Bedeutung. Andernfalls kann es zu Datenverlust kommen. Aus diesem Grund solltet Ihr zunächst von einem Testordner (mit bedeutungslosem Datenmüll) ein Backup erstellen und Euch dann erst an die wirklich wichtigen Dateien heranwagen.

Die Sache mit dem slash: Im hier verwendeten Beispiel habe ich hinter “iTunes” kein slash gesetzt. Das führt dazu, dass rsync am Ziel einen Unterordner mit dem Namen “iTunes” anlegt. Die Dateien werden also nicht unter

$ /Volumes/Backups

gespeichert, sondern landen im Verzeichnis

$ /Volumes/Backups/iTunes

Anders verhält es sich, wenn der Quellpfad mit einem slash abgeschlossen wird, also zum Beispiel so:

$ /Users/bodo/Music/iTunes/

Dies führt dazu, dass am Ziel kein Unterordner angelegt wird. Alle Dateien werden in das Verzeichnis

$ /Volumes/Backups

geschrieben.

Im nächsten Artikel zum Thema Datensicherung zeige ich dann, wie rsync zusammen mit dem Programm Automator genutzt werden kann.