rsync und Automator

Im letzten Artikel zum Thema Datensicherung bin ich auf das Kommandozeilentool rsync eingegangen, mit dem sich inkrementelle Backups erstellen lassen.

Nun möchte ich zeigen wie sich ein rsync-Backup mit einem Automator-Workflow vereinfachen lässt. Dabei soll in diesem Beispiel wieder der iTunes-Ordner auf einer externen Festplatte gesichert werden. Die externe Platte hat die Bezeichnung “Backups”. Auf dieser Festplatte befindet sich bereits ein Ordner mit dem Namen “iTunes”, in dem die Dateien des iTunes-Ordner der internen Festplatte (standardmäßig ist das “Macintosh HD”) gesichert werden sollen. Im Terminal würde das Kommando dafür wie folgt aussehen:

$ rsync -av /Users/bodo/Music/iTunes/ /Volumes/Backups/iTunes

Anstelle des Benutzernamens “bodo” müsst Ihr Euren Namen verwenden. Falls Eure Festplatte eine andere Bezeichnung als “Backups” verwendet, müsst Ihr dies ebenfalls anpassen.

In diesem Beispiel steht beim Quellpfad hinter “iTunes” ein slash. Dies führt dazu, dass am Ziel kein Ordner mit der Bezeichnung “iTunes” angelegt wird (und deswegen habe ich auf der externen Festplatte von Hand einen solchen Ordner angelegt). Würde man beim Quellpfad hinter “iTunes” kein slash angeben, würde rsync am Ziel einen entsprechenden Ordner (mit dem Namen iTunes) anlegen.

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.

Und nun wollen wir dieses Kommando in Automator verwenden. Dazu startet Ihr Automator, wählt ein neues Dokument aus und wählt als Dokumententyp “Workflow” aus.

In der “Library” findet Ihr unter “Utilities” die Aktion “Run Shell Script”. Diese zieht Ihr in die Spalte mit den auszuführenden Aktionen. Achtet darauf, dass als Shell “/bin/bash” ausgewählt ist. In das Fenster darunter könnt Ihr dann obiges Kommando eintragen. Die folgende Abbildung zeigt Euch meinen Workflow, wobei ich noch eine “Ask for Confirmation”-Aktion hinzugfügt habe, so dass vor der Ausführung ein Hinweisfenster erscheint.

rsync configuration in automator

Auch mein rsync-Kommando unterscheidet sich etwas vom obigen Beispiel:

$ rsync -av --delete /Volumes/Multimedia1/iTunes/ /Volumes/Medien-Backup/iTunes > ~/Documents/AutomatorLogs/iTunesSync.log

Da wäre zunächst die zusätzliche Option --delete. Sie führt dazu, dass Dateien, die im Quellverzeichnis gelöscht wurden, auch im Backupverzeichnis gelöscht werden. Außerdem befindet sich mein iTunes-Ordner auf einer externen Festplatte mit der Bezeichnung “Multimedia1”. Deswegen lautet mein Quellpfad:

$ /Volumes/Multimedia1/iTunes/

Schließlich lasse ich mir noch eine Log-Datei erzeugen, die im Verzeichnis

$ ~/Documents/AutomatorLogs

abgespeichert wird.

Mit einem Klick auf “Run” (in der oberen rechten Ecke des Automator-Fensters) könnt ihr Eure Konfiguration testen. Und nun nochmals der wichtige Hinweis: Wenn Ihr keine Erfahrungen mit rsync oder Automator habt, probiert Eure Konfiguration nicht am iTunes-Ordner aus, sondern legt Euch zu Testzwecken einen Ordner an. Bei rsync ist die Verwendung der richtigen Syntax sehr wichtig, andernfalls droht Euch Datenverlust.

Wenn alles zu Eurer Zufriedenheit funktioniert, könnt Ihr Euren Workflow nun speichern. Abgesehen von der Möglichkeit das Ergebnis als Workflow-Datei zu speichern, könnt Ihr es auch als Programm speichern. In diesem Fall erhaltet Ihr sozusagen eine App, die Ihr z.B. im Programme-Ordner ablegen könnt. Zukünftig müsst Ihr Euch dann nicht mehr die rsync-Syntax in das Gedächtnis rufen, sondern startet einfach Eure “Backup-App”.

Zuletzt aktualisiert am 18. September 2020