Ob lokale Datensicherung oder netzwerkbasierte Systemmigration: Rsync bleibt unter Linux und Unix-artigen Systemen das präziseste Werkzeug zur Dateiübertragung. Auch durch alternative Frontends und GUI-Ableger bewährt sich das Original durch robuste Optionen und effiziente inkrementelle Synchronisierung.
Rsync unter Linux und Unix ist ideal für präzise Dateiübertragung und Systemmigration. Durch inkrementelle Synchronisation werden nur geänderte Dateiteile transferiert, was Netzwerkverkehr und Schreibzugriffe reduziert.
(Bild: Midjourney / KI-generiert)
Rsync unterscheidet sich grundlegend von klassischen Kopierwerkzeugen wie cp oder scp. Statt Dateien als Ganzes zu überschreiben, berechnet rsync anhand modifizierter Zeitstempel und Dateigrößen nur jene Teile, die tatsächlich verändert wurden. Diese inkrementelle Strategie basiert auf dem Delta-Transfer-Algorithmus, der durch Rolling Checksums und blockbasierte Vergleichsoperationen eine erhebliche Reduktion von Netzwerkverkehr und Schreibzugriffen erzielt. Auf schwach angebundenen Zielsystemen oder bei großen Datenbeständen ist genau diese selektive Datenübertragung entscheidend für die Performance.
Unidirektionale Replikation mit klarer Struktur
Rsync operiert grundsätzlich unidirektional. Synchronisiert wird von einer Quelle zu einem Ziel. Wer einen bidirektionalen Datenabgleich erwartet, verlässt den Anwendungsbereich dieses Werkzeugs. Rsync ersetzt keine verteilte Versionsverwaltung, sondern eignet sich für kontrollierte, deterministische Replikationspfade, zum Beispiel zur täglichen Spiegelung produktiver Daten in ein konsistentes Sicherungsverzeichnis.
Der Operator definiert explizit, welche Elemente übertragen, welche ignoriert und welche gelöscht werden sollen. Parameter wie „--exclude“, „--include“, „--delete“, „--backup-dir“ oder „--itemize-changes“ geben dabei eine differenzierte Kontrolle bis hin zur Behandlung einzelner Bytebereiche. In Kombination mit „--dry-run“ entsteht eine testbare Umgebung, die sich in produktive Abläufe ohne unbeabsichtigte Datenverluste übertragen lässt.
Verzeichnisstruktur und Pfadverhalten
Der abschließende Slash im Quellpfad ist mehr als syntaktische Nebensache. Er entscheidet darüber, ob der Inhalt oder das Verzeichnis selbst kopiert wird:
rsync -a /srv/daten/ /mnt/backup
resultiert in einer Replikation der Inhalte von /srv/daten in /mnt/backup. Hingegen erzeugt
rsync -a /srv/daten /mnt/backup
unter „/mnt/backup“ einen neuen Ordner „daten“, der die Inhalte aufnimmt. Diese Differenz wirkt sich nicht nur strukturell aus, sondern auch auf Skriptlogik und automatisierte Deployment-Vorgänge. Gerade bei Cron-basierten Sicherungsjobs kann eine fehlerhafte Slash-Setzung zu inkonsistenten Zielstrukturen führen.
Hardlinks, Geräte-Dateien und symbolische Verweise
Beim Umgang mit komplexeren Dateisystemen unterstützt rsync durch spezielle Flags auch den Transfer von Elementen jenseits regulärer Dateien. Mit „-H“ werden Hardlinks erkannt und im Zielsystem als solche rekonstruiert, was insbesondere bei UNIX-artigen Systemverzeichnissen oder deduplizierten Datenbeständen wichtig ist. Symbolische Links lassen sich durch „-l“ (bereits in „-a“ enthalten) ebenfalls übertragen, ohne sie zu dereferenzieren. Für den korrekten Umgang mit Geräten wie „/dev/null“, benannten Pipes oder Sockets dient der Parameter „-D“, der intern „--devices“ und „--specials“ kombiniert. Diese Parameter greifen nur, wenn der Benutzer entsprechende Root-Rechte besitzt, insbesondere bei Zielsystemen mit restriktiver Rechteverwaltung. Wird rsync zur Migration kompletter Systempartitionen genutzt, ist die Aktivierung dieser Optionen zwingend erforderlich, um Konsistenz zu gewährleisten.
Relevante Optionen und deren Zusammenspiel
Rsync ist modular aufgebaut. Optionen lassen sich kombinieren und beeinflussen sich gegenseitig. Der Parameter „-a“ steht für den Archivmodus und fasst rekursive Kopie, Rechte-, Besitzer-, Zeitstempel- und Link-Behandlung zusammen. Mit dem Parameter „-z“ aktiviert man Kompression auf Protokollebene, „-P“ vereint Fortschrittsanzeige und Unterstützung für unterbrochene Transfers.
Weitere zentrale Parameter:
„-i“ beziehungsweise „--itemize-changes“: differenzierte Auflistung aller Änderungen nach Typ (Inhalt, Metadaten, Links),
„--checksum“: byteweise Prüfung über Hashvergleich,
„--partial“: nicht vollständig übertragene Dateien bleiben erhalten,
„--delete“: entfernt Zielobjekte, die in der Quelle nicht mehr existieren,
„--exclude-from“: lädt Ausschlussregeln aus externer Datei,
„--backup“ + „--backup-dir“: kopiert ersetzte oder gelöschte Dateien in Archivstruktur,
„--out-format“: definierbare Log-Ausgabe über Platzhalter wie „%i“, „%l“, „%b“, „%m“.
Erweiterte Formatierung und Logging-Strategien
Für präzise Auswertung von Synchronisationsläufen bietet rsync anpassbare Log-Ausgaben über die Option „--out-format“. Hier lassen sich Platzhalter wie „%i“ (Änderungstyp), „%b“ (Dateigröße), „%l“ (lange Dateigröße), „%m“ (Änderungszeit), „%u“ (Benutzer-ID), „%g“ (Gruppen-ID) oder „%f“ (Pfadname) definieren. Damit entstehen maschinenlesbare Reports, die sich direkt in Logging-Infrastrukturen einbinden oder zur Change-Dokumentation weiterverarbeiten lassen. Ein Beispiel für ein detailliertes Format:
--out-format='%t %o %i %b bytes %f'
In Verbindung mit „--log-file=/var/log/rsync.log“ oder systemd-Redirects lassen sich diese Informationen persistieren. Für die Prüfung einzelner Übertragungsjobs empfiehlt sich zusätzlich die Kombination mit „--stats“ zur Ausgabe von Gesamtbilanz, Transferrate und gelöschter/veränderter Dateien.
Skriptintegration und Tagesrotation
Für tägliche Sicherungsläufe empfiehlt sich die Kombination mit einem Datumssuffix im Zielverzeichnis. Ein Beispiel:
Diese Struktur erzeugt für jeden Sicherungslauf ein separates Unterverzeichnis. In Verbindung mit Rotationsskripten oder Pruning-Mechanismen lassen sich konsistente Backup-Zeitlinien abbilden. Die Integration in systemd-timers oder cron erlaubt eine exakte Steuerung.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
In klassischen Netzwerkinfrastrukturen lassen sich rsync-Operationen gezielt zur Sicherung zentraler Datenpfade, zum Roll-out von Konfigurationsdateien oder zur Synchronisierung von Verzeichnisbäumen zwischen Servern einsetzen. Die häufigste Konstellation ist ein Push-Modell über SSH, etwa vom Applikationsserver zu einem dedizierten Backup-Node. Der Befehl
sichert unter Kompression („-z“) und mit Fortschrittsanzeige („-P“) den Inhalt des Webdatenverzeichnisses inkrementell. Für bidirektionale Aufgaben wie Konfigurationsverteilung kann rsync im Pull-Modus betrieben werden:
rsync -az /etc/nginx/ root@web01:/etc/nginx/
Ergänzend empfiehlt sich in produktiven Umgebungen eine Dry-run-Prüfung:
Dadurch lassen sich Auswirkungen von „--delete“ gefahrlos vorab analysieren. In heterogenen Umgebungen mit Windows-Clients kommt rsync häufig über Cygwin, WSL oder dedizierte Wrapper wie DeltaCopy zum Einsatz. Wird der Dienst dauerhaft genutzt, etwa für stündliche Sicherungen, erfolgt die Integration meist per Cronjob, systemd-Timer oder zentral gesteuerten Orchestrierungs-Tools wie Ansible oder SaltStack.
Rsync unter macOS: Abkehr von GPL, Wechsel zu openrsync
Mit macOS 15.4 wurde die ursprünglich vorinstallierte Version 2.6.9 entfernt. Hintergrund sind Lizenzkonflikte im Übergang zur GPLv3. Apple ersetzt rsync durch openrsync, eine Implementation unter ISC-Lizenz, kompatibel zur BSD-Umgebung. Allerdings unterstützt openrsync nicht den vollen Funktionsumfang von rsync 3.2.x. Wer auf Parameter wie „--compress“, „--backup-dir“ oder differenzierte Filterregeln angewiesen ist, installiert rsync via Homebrew:
brew install rsync
Die Aufrufe erfolgen dann explizit per Pfadangabe:
/opt/homebrew/bin/rsync
Synology-NAS: Einsatz im Daemon-Modus
Auf Synology-Systemen lässt sich rsync im Push- und Pull-Modus betreiben. Aktivierung erfolgt über DSM: „Systemsteuerung > Dateidienste > rsync“. Zusätzlich muss unter Anwendungsberechtigungen der Zugriff auf rsync für Benutzer freigegeben werden. Im Daemon-Modus lauscht rsync auf TCP 873. Konfiguriert wird via „/etc/rsyncd.conf“, zum Beispiel:
Benutzer müssen angelegt, Gruppenrechte korrekt gesetzt und rsync-Konten aktiviert sein. In unverschlüsseltem Modus unterscheidet DSM zwischen DSM-Usern und rsync-Konten. Für verschlüsselte Verbindungen erfolgt der Zugriff über SSH mit regulären Benutzerkennungen.
Zur Begrenzung der Netzwerkbelastung können unter DSM Geschwindigkeitseinschränkungen aktiviert werden – global oder zeitabhängig. Feinsteuerung erlaubt abweichende Limits pro Benutzer oder Gruppe.
RsyncUI: Oberfläche für macOS-Transfers
Wer rsync nicht auf der Kommandozeile bedienen will, nutzt unter macOS RsyncUI. Die auf SwiftUI basierende GUI läuft nativ auf Apple-Silicon-und Intel-Macs, installiert per Homebrew oder Download. RsyncUI erlaubt die Konfiguration mehrerer Jobs, loggt Transfers und kann via LaunchAgent regelmäßige Abläufe starten. Intern greift es auf das systemeigene rsync oder eine benutzerdefinierte Version zu.
Aktuelles eBook
Storage-Software als Effizienzbooster
eBook „Storage-Software als Effizienzbooster“
(Bild: Storage-Insider)
Mit der geeigneten Storage-Software kann sich ein Unternehmen einen Effizienzbooster ins Haus holen oder in der Cloud abonnieren. Dieser Booster steigert nicht nur die Performance der geschäftskritischen Anwendungen, sondern optimiert auch die Kosten der bereits installierten Speichersysteme.
Die Themen im Überblick:
Herausforderungen eines modernen Speichersystems
Methoden und Technologien effizienter Speichersysteme
Effizienter Speicher mit Pure Storage, AWS, Cohesity und Dell