In älteren Beiträgen hatte ich bereits das Kommandozeilenprogramm rsync vorgestellt. Dieses Tool kann beispielsweise in einem Automator-Workflow verwendet werden, um bestimmte Verzeichnisse zu sichern.
Mehr Flexibilität bietet aber die Verwendung von AppleScript oder JavaScript. Beide Programmiersprachen können in dem — auf jedem macOS vorhandenen — Skripteditor verwendet werden, um Arbeitsabläufe zu automatisieren.
In diesem Tutorial möchte ich zeigen, wie mit AppleScript und rsync ein einfaches Backup-Skript geschrieben werden kann. Dieses Skript könnte Euch dann als Vorlage für die Umsetzung eigener Ideen dienen.
Der Skripteditor
Apples Skripteditor versteckt sich im Verzeichnis
> Programme > DienstprogrammeNach dem Start öffnet sich ein Fenster, in dem ihr auf „Neues Dokument“ klickt. Es erscheint dann folgende Ansicht:
Da die standardmäßig eingestellte Schriftgröße relativ klein ist, habe ich sie in den Einstellungen angepasst:
> Skripteditor > Einstellungen > FormatierungWählt dort eine Kategorie aus und nutzt anschließend die Tastenkombination command + a, um alle Zeilen zu markieren. Mit einem Doppelklick auf den so markierten Bereich öffnet Ihr das Schriften-Fenster. Dort könnt ihr jetzt die gewünschte Schriftart und die Schriftgröße aussuchen. Abschließend müsst ihr eure Wahl mit einem Klick auf „Anwenden“ speichern. Es kann sein, dass die Änderungen von Schriftart und Schriftgröße erst in einem neuen Dokument sichtbar werden.
Der Code
Bevor es richtig losgeht, ein Hinweis zu Kommentaren. Diese werden in AppleScript mit zwei Bindestrichen (--) eingeleitet. Hier beginne ich mit einer kurzen Beschreibung und der Versionsnummer:
-- Daten mit rsync sichern
-- Version 1.0In diesem Beispiel soll das Verzeichnis „Artikel“, das sich auf dem Schreibtisch befindet, auf einem USB-Stick mit der Bezeichnung „Backups“ gesichert werden. Die dafür erforderliche rsync-Anweisung sieht wie folgt aus:
rsync -av --delete /Users/bodo/Desktop/Artikel/ /Volumes/Backups/ArtikelWenn ihr dieses Beispiel auf eurem Mac ausprobieren möchtet, müsst ihr darauf achten, den Pfad anzupassen. So ist der Benutzername „bodo“ durch Euren Benutzernamen zu ersetzen.
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.
Als Optionen sind hier -av und --delete angegeben. Das -a steht für archive, also für die Archivierungsfunktion von rsync. Und -v steht für verbose, wodurch zahlreiche Meldungen zum Backup-Vorgang ausgegeben werden. Letzteres ist von Bedeutung, wenn der Code im Skripteditor getestet wird.
Wie wird nun dieser Befehl in AppleScript „eingebaut“? Zunächst gar nicht. Denn beginnen möchte ich mit einem Dialog, der den Benutzer um eine Bestätigung bittet:
-- Hinweisfenster
set theDialogText to "Dieses Programm sichert alle Dateien des Ordners 'Artikel' auf den USB-Stick. Soll das Backup gestartet werden?"
display dialog theDialogText with icon cautionDer Code sollte selbsterklärend sein. Mit „set theDialogText to“ wird der anzuzeigende Text festgelegt. Die Zeile „display dialog theDialogText with icon caution“ zeigt das Dialogfenster an, wobei mit „with icon caution“ zusätzlich zum Text ein Icon erscheint.
Standardmäßig hat so ein Dialogfenster zwei Buttons: „Ok“ und „Abbrechen“. Nach einem Klick auf „Ok“ wird der nachfolgende Code ausgeführt. Ein Klick auf „Abbrechen“ beendet hingegen die Ausführung des Skripts.
Nach dem Code für das Dialogfenster folgt die rsync-Anweisung, die in do shell script eingebunden werden muss:
do shell script "rsync -av --delete /Users/bodo/Desktop/Artikel/ /Volumes/Backups/Artikel"Nach einem Klick auf den Play-Button wird das Skript ausgeführt, wobei vermutlich zunächst zwei Dialoge erscheinen, die euch fragen, ob der Skripteditor auf den Schreibtisch und auf ein Wechselmedium (USB-Stick) zugreifen darf. Beides müsst ihr bestätigen.
Unter dem Editor befindet sich das Ergebnisfenster. Dort erhaltet ihr Informationen zur laufenden Datensicherung.
Der komplette Code sieht wie folgt aus:
-- Daten mit rsync sichern
-- Version 1.0
-- Hinweisfensterset
theDialogText to "Dieses Programm sichert alle Dateien des Ordners 'Artikel' auf den USB-Stick. Soll das Backup gestartet werden?"
display dialog theDialogText with icon caution
-- rsync ausführen
do shell script "rsync -av --delete /Users/bodo/Desktop/Artikel/ /Volumes/Backups/Artikel"App erstellen
Das Skript kann als solches abgespeichert werden, d.h. im Speichern-Dialog wählt ihr als Dateiformat „Skript“ aus. Darüber hinaus könnt ihr auch eine App erstellen. Dazu ist bei „Dateiformat“ die Option „App“ auszuwählen.
Falls ihr das Skript bereits im Dateiformat „Skript“ gespeichert habt, könnt ihr es nachträglich als „App“ exportieren:
> Ablage > ExportierenNach dem Aufrufen des Programms können Fehler auftreten. Deswegen befasst sich die Fortsetzung zu diesem Tutorial mit der Fehlerbehandlung.
Weiterführende Links
- rsync und Automator
- Datensicherung mit rsync unter macOS
- Dokumentation zum Mac Scripting (AppleScript & JavaScript)
Zuletzt aktualisiert am 19. März 2026




