Anleitung
rsync mit einem Android-Smartphone und einem Mac nutzen
rsync braucht an beiden Enden einen Ordner. Sobald das Smartphone als Volume eingebunden ist, ist es einer, und rsync läuft wie auf jedem Laufwerk, mit zwei kleinen Änderungen für den Speicher von Android.
rsync kommt nicht an ein Smartphone heran, das im eigenen Fenster einer App lebt, so wie Android File Transfer und OpenMTP es zeigen, denn es braucht auf jeder Seite einen Pfad. Bind das Smartphone stattdessen als Volume ein, und den Kameraordner auf den Mac zu kopieren ist ein einziger Befehl:
rsync -av --progress "$PHONE/DCIM/Camera/" ~/Pictures/Phone/
Vom Smartphone zum Mac funktioniert das so, wie es dasteht. In Richtung Smartphone nimmst du -rt statt -a, weil der Speicher des Smartphones keine Mac-Berechtigungen behalten kann und sich darauf keine symbolischen Links anlegen lassen. Probier alles Neue zuerst mit -n aus, und geh mit --delete vorsichtig um. Ohne Einbinden erledigen die adb-eigenen Befehle pull und push sowie ein Werkzeug namens better-adb-sync einen Teil derselben Arbeit.
Den Pfad des Smartphones finden
SideMount bindet das Smartphone über das USB-Kabel als Volume ein, das der Finder wie ein Laufwerk zeigt (es einzurichten dauert ein paar Minuten). Es liegt nicht in /Volumes, sondern ist ein Ordner mit dem Namen des Smartphones in ~/Library/Application Support/SideMount/Volumes/. Der interne Speicher des Smartphones ist die oberste Ebene des Volumes, und eine SD-Karte ist ein Ordner namens SD Card darin.
Du musst diesen Pfad nicht abtippen. Tipp im Terminal PHONE= ohne Leerzeichen, zieh das Volume des Smartphones aus dem Finder ins Fenster und drück den Zeilenschalter. Das Terminal schreibt den Pfad für dich, mit einem Backslash vor jedem Leerzeichen. Ab dann steht "$PHONE" in jedem Befehl in diesem Fenster für das Smartphone. Lass die doppelten Anführungszeichen stehen: Der Pfad enthält ein Leerzeichen.
Fotos vom Smartphone kopieren
rsync -av --progress "$PHONE/DCIM/Camera/" ~/Pictures/Phone/
-akopiert den Ordner mit allem, was darin ist, und behält die Änderungszeit jeder Datei.-vlistet jede Datei auf, und--progresszeigt, wie weit jede schon ist.- Der Schrägstrich am Ende von
Camera/zählt. Mit ihm landen die Fotos direkt in~/Pictures/Phone. Ohne ihn legt rsync~/Pictures/Phone/Cameraan und legt sie dort ab.
Führ denselben Befehl nächste Woche wieder aus, und rsync kopiert nur die neuen Fotos: Es vergleicht Größe und Änderungszeit jeder Datei auf beiden Seiten und überspringt die, die übereinstimmen. Bildschirmfotos liegen meist in Pictures/Screenshots oder DCIM/Screenshots und gehen mit demselben Befehl und diesem Pfad.
Ein Ordner mit Tausenden kleiner Dateien dauert länger, als seine Größe vermuten lässt. Jede Datei kostet auf dem Kabel einen festen Anteil Zeit, egal welches Werkzeug sie kopiert, ein paar hundert Fotos gehen also schnell, der Medienordner einer Messenger-App nicht.
Erst mit -n ausprobieren
rsync -avn "$PHONE/DCIM/Camera/" ~/Pictures/Phone/
-n oder --dry-run listet alles auf, was rsync kopieren würde, und kopiert nichts. Nutz es immer, wenn du einen Pfad änderst oder eine Option hinzufügst, und jedes Mal vor --delete.
Spiegeln mit --delete
--delete macht das Ziel zu einer exakten Kopie der Quelle: Jede Datei am Ziel, die es in der Quelle nicht gibt, wird gelöscht. Das passt zu einem Musikordner, den du auf dem Mac pflegst und dem das Smartphone entsprechen soll, wie in Musik vom Mac auf Android kopieren. Erst der Probelauf, dann der echte Lauf:
rsync -rtn --delete --exclude '.DS_Store' ~/Music/Phone/ "$PHONE/Music/"
rsync -rt --delete --progress --exclude '.DS_Store' ~/Music/Phone/ "$PHONE/Music/"
Lies den Probelauf, bevor du die zweite Zeile ausführst. Ein falscher Pfad oder ein fehlender Schrägstrich nach der Quelle kann --delete auf einen Ordner richten, den du nicht gemeint hast, und es löscht endgültig: Auf keiner Seite landet etwas im Papierkorb. Nutz es auch nie für ein Backup vom Smartphone. Ein Foto, das du auf dem Smartphone löschst, würde dann beim nächsten Lauf auch aus dem Backup verschwinden, und das Backup wäre sinnlos.
Das --exclude '.DS_Store' steht da, weil der Finder diese Dateien in Mac-Ordnern hinterlässt und ein Smartphone nichts damit anfangen kann.
Miniaturbilder auslassen
rsync -av --progress --exclude '.thumbnails' "$PHONE/DCIM/" ~/Pictures/Phone-DCIM/
Galerie-Apps auf älteren Smartphones speichern Miniaturbilder in DCIM/.thumbnails, das groß werden kann und das das Smartphone bei Bedarf neu erstellt. Ein Muster ohne Schrägstrich passt in jeder Tiefe, --exclude '.thumbnails' überspringt diesen Ordner also, wo immer er liegt. --exclude '.*' geht weiter und überspringt jede versteckte Datei und jeden versteckten Ordner.
Warum -a in Richtung Smartphone die falsche Gewohnheit ist
-a ist die Kurzform von -rlptgoD. Auf einer Mac-Festplatte ergibt all das Sinn. Auf dem gemeinsamen Speicher eines Smartphones manches nicht:
-p,-ound-gkopieren Berechtigungen, Eigentümer und Gruppe. Der gemeinsame Speicher von Android speichert diese nicht pro Datei, es gibt also nichts, was sie setzen könnten. Das eingebundene Smartphone nimmt die Anfrage an und ignoriert sie, die Kopie geht also durch, aber rsync findet beim nächsten Lauf denselben Unterschied und fragt erneut.-lkopiert symbolische Links als Links, und auf dem eingebundenen Smartphone lässt sich kein Link anlegen, also scheitert jeder einzelne. Wenn dein Ordner Links enthält, kopiert-Lstattdessen die Dateien, auf die sie zeigen.-Dkopiert Gerätedateien, die ein Foto- oder Musikordner nie enthält.
Was vom Rest zählt, sind -r und -t. In Richtung Smartphone nimmst du also -rt, oder du behältst -a und ergänzt --no-perms --no-owner --no-group. Behalte -t in jedem Fall. Das Smartphone speichert Änderungszeiten, und ohne sie sieht jede Datei verändert aus, sodass jeder Lauf wieder alles kopiert.
Eine Eigenheit bei den Zeiten bleibt, und zwar bei SD-Karten. Eine mit FAT32 formatierte Karte speichert Zeiten nur auf zwei Sekunden genau, eine Datei kann also um eine Sekunde abzuweichen scheinen und bei jedem Lauf erneut kopiert werden. Ergänze --modify-window=1; damit behandelt rsync Zeiten, die eine Sekunde auseinanderliegen, als gleich.
Lass auch -c (--checksum) weg. Es liest jede Datei auf beiden Seiten vollständig, um sie zu vergleichen, und auf dem Smartphone heißt das, jede Datei über das Kabel zu ziehen. Größe und Zeit reichen.
Das rsync auf deinem Mac
Führ auf einem aktuellen Mac rsync --version aus, und es antwortet:
openrsync: protocol version 29
rsync version 2.6.9 compatible
Seit macOS 15.4 liefert Apple openrsync mit, eine Neuentwicklung unter einer BSD-artigen Lizenz, anstelle des GPL-lizenzierten rsync 2.6.9, das es jahrelang behalten hatte. Es versteht einen Teil der Optionen von rsync, und jeder Befehl auf dieser Seite funktioniert damit. Für die Extras von rsync 3, etwa --info=progress2 für eine einzige Fortschrittszeile für den ganzen Lauf, installierst du es mit Homebrew (brew install rsync); danach kommt im Terminal meist die Version von Homebrew zuerst.
Ohne Einbinden: die Werkzeuge von adb
| Werkzeug | Kopiert nur Geändertes | Probelauf | Spiegeln mit Löschen | Ausschlussmuster |
|---|---|---|---|---|
| rsync, Smartphone mit SideMount eingebunden | Ja, nach Größe und Zeit | Ja, -n | Ja, --delete | Ja, --exclude |
adb pull -a | Nein, kopiert alles | Nein | Nein | Nein |
adb push --sync | In Richtung Smartphone, nach Zeitstempel | Sein -n sendet die Daten trotzdem | Nein | Nein |
| better-adb-sync | Ja | Ja, -n | Ja, --del | Ja, --exclude |
All das braucht USB-Debugging auf dem Smartphone; es einzuschalten dauert eine Minute. Die adb-Werkzeuge brauchen außerdem Googles Android Platform Tools auf dem Mac.
adb pull -a /sdcard/DCIM/Camera ~/Pictures/kopiert den ganzen Ordner nach~/Pictures/Cameraund behält Zeit und Modus jeder Datei. Es kopiert jedes Mal alles.adb push --synckopiert Dateien auf das Smartphone und überspringt die, deren Zeitstempel schon übereinstimmen. Es löscht nie.- better-adb-sync kommt rsync über adb am nächsten:
pip install BetterADBSync, dannadbsync pulloderadbsync push, mit--dry-run,--excludeund--del. Es begann als Neufassung von Googles eigenem adb-sync, das im März 2025 archiviert wurde und jetzt darauf verweist.
Immer nur ein Programm kann die adb-Verbindung eines Smartphones halten. Wenn SideMount das Smartphone hat, wirf es zuerst aus; damit gibt SideMount das Smartphone frei. Wenn dein adb-Server schon vor dem Auswerfen lief, führ einmal adb kill-server aus, damit er wieder nach dem Smartphone sucht.
Fragen
Kann rsync Dateien von einem Android-Smartphone kopieren, ohne es einzubinden?
Nein. rsync braucht auf jeder Seite einen Pfad, und eine MTP-App wie OpenMTP zeigt das Smartphone nur in ihrem eigenen Fenster. Bind das Smartphone als Volume ein, damit es einen Pfad hat, oder nimm ein Werkzeug auf adb-Basis wie adb pull oder better-adb-sync, die direkt mit dem Smartphone sprechen.
Warum macht rsync -a beim Kopieren auf ein Android-Smartphone Probleme?
-a verlangt, Berechtigungen, Eigentümer, Gruppen und symbolische Links zu kopieren, und der gemeinsame Speicher eines Smartphones behält nichts davon. Nimm in Richtung Smartphone -rt oder -a --no-perms --no-owner --no-group. Behalte -t, damit rsync erkennt, welche Dateien sich geändert haben.
Welches rsync ist bei macOS dabei?
Seit macOS 15.4 ist es openrsync, das „openrsync: protocol version 29“ und „rsync version 2.6.9 compatible“ meldet. Es kann -rt, -n, --progress, --delete und --exclude. Für das vollständige rsync 3 installierst du es mit brew install rsync.
Ist rsync --delete mit einem Smartphone sicher?
Nur nach einem Probelauf. Führ denselben Befehl zuerst mit -n aus und lies die Liste, denn Dateien, die es löscht, sind endgültig weg. Nutz es, damit das Smartphone einem Ordner auf dem Mac entspricht, nie für ein Backup vom Smartphone, wo es Fotos löschen würde, die du vom Smartphone entfernt hast.
Warum kopiert rsync bei jedem Lauf wieder alle Dateien?
Meist, weil -t fehlt: Die Kopien tragen dann die Zeit, zu der sie entstanden sind, und stimmen nie mit den Originalen überein. Auf einer SD-Karte mit FAT32 werden Zeiten nur auf zwei Sekunden genau gespeichert; ergänze --modify-window=1, damit rsync Zeiten, die eine Sekunde auseinanderliegen, als gleich behandelt.
Dein Android-Smartphone, im Finder.
Sieben Tage kostenlos, keine Kreditkarte nötig. macOS 26 oder neuer.