Überblick
Das Dienstprogramm rsync zählt im Linux-Ökosystem zu den etabliertesten Standardwerkzeugen, wenn Verzeichnisse effizient gespiegelt oder verlässliche Backups eingerichtet werden sollen. Dank des integrierten Delta-Transfer-Verfahrens überträgt das Tool ausschließlich veränderte Datenblöcke, was Zeit sowie Netzwerkbandbreite schont. In diesem Praxisleitfaden beleuchten wir die grundlegende Syntax, den entscheidenden semantischen Unterschied des abschließenden Schrägstrichs (/) sowie unverzichtbare Flags für sichere Synchronisationsabläufe auf der Konsole.
Installation von rsync und lokale Verzeichnisspiegelung (-av)
Zur Vorbereitung aktualisieren wir die lokalen Paketlisten und installieren das Paket rsync:

Um ein realistisches Testszenario abzubilden, erzeugen wir mit mkdir -p /tmp/rsync_test/src /tmp/rsync_test/dest getrennte Quell- und Zielordner:

Im Quellverzeichnis legen wir nun das erste Testdokument mittels echo 'data 1' > /tmp/rsync_test/src/file1.txt an:

Mit echo 'data 2' > /tmp/rsync_test/src/file2.txt folgt eine zweite Datei zur Demonstration:

Der Befehl rsync synchronisiert Datenbestände zuverlässig sowohl auf lokalen Speichermedien als auch über entfernte Serververbindungen hinweg. Durch das Setzen eines Schrägstrichs (/) am Ende des Quellpfads wird rsync angewiesen, den Inhalt des Verzeichnisses – statt des Verzeichnisordners selbst – unter Beibehaltung aller relevanten Attribute in das Ziel zu übertragen.
⚙️ [Zentrale Parameter im Überblick]
-a : Aktiviert den Archivmodus (rekursive Synchronisation unter Erhalt von Dateiberechtigungen, Zeitstempeln, Symlinks und Eigentümerschaften).-v : Schaltet die detaillierte Konsolenausgabe (Verbose) zu den übertragenen Dateien und Statistiken ein.-z : Komprimiert die Daten während des Kopiervorgangs zur Einsparung von Bandbreite.-u : Verhindert das Überschreiben von Zieldateien, sofern diese bereits ein neueres Änderungsdatum aufweisen.--delete : Entfernt Dateien im Zielsystem, wenn diese in der Quelle gelöscht wurden, um einen identischen Datenstand zu garantieren.-P : Aktiviert gleichzeitig die Fortschrittsanzeige (--progress) sowie das Fortsetzen unterbrochener Transfers (--partial).-n : Führt eine Simulation (Dry-Run) aus, um geplante Änderungen gefahrlos zu begutachten, ohne Daten zu modifizieren.

Mit dem Befehl ls -l /tmp/rsync_test/dest prüfen wir abschließend, ob die Dateien mitsamt Zugriffsrechten und Attributen fehlerfrei am Zielort angekommen sind:

Syntax-Besonderheiten des Schrägstrichs (/) und inkrementeller Datenabgleich
Zur Überprüfung des inkrementellen Abgleichs modifizieren wir eine bestehende Quelldatei über echo 'data 1 updated' >> /tmp/rsync_test/src/file1.txt:

Parallel erzeugen wir mit touch /tmp/rsync_test/src/file3.txt ein weiteres Element in der Quelle:

Der erneute Aufruf von rsync -av /tmp/rsync_test/src/ /tmp/rsync_test/dest/ überträgt nun gezielt die Neuerungen in das Zielverzeichnis.
Der nachgestellte Schrägstrich am Quellpfad sorgt dafür, dass die Verzeichnisinhalte direkt abgeglichen werden. Da rsync Dateigrößen und Zeitstempel analysiert, bleibt die unberührte file2.txt unangetastet; lediglich die modifizierte file1.txt sowie die neue file3.txt fließen inkrementell in das Ziel ein.

Bereinigung verwaister Dateien (–delete) und gefahrlose Probeläufe (–dry-run)
Standardmäßig belässt rsync Dateien im Ziel, die in der Quelle nicht mehr existieren. Um diesen Bereinigungsprozess zu testen, entfernen wir zunächst ein Beispieldokument in der Quelle mit rm /tmp/rsync_test/src/file2.txt:

Bevor Löschaktionen wirksam werden, empfiehlt sich ein gefahrloser Probelauf via rsync -av --delete --dry-run /tmp/rsync_test/src/ /tmp/rsync_test/dest/.
Dank des Schalters --dry-run werden keine Schreibvorgänge vorgenommen; die Ausgabe deleting file2.txt zeigt jedoch exakt an, welche Objekte im Ziel bei einem echten Lauf gelöscht würden.

Nach erfolgreicher Prüfung führen wir die vollständige Synchronisation scharf aus: rsync -av --delete /tmp/rsync_test/src/ /tmp/rsync_test/dest/.
Die Option --delete gleicht nun den Zielbestand ab und tilgt file2.txt auch am Zielort.

Ein Kontrollaufruf von ls -l /tmp/rsync_test/dest bestätigt, dass das Zielverzeichnis nun exakt dem bereinigten Stand der Quelle entspricht:

Datenkompression und Live-Fortschrittsanzeige bei großen Dateien (-avzP)
Beim Kopieren umfangreicherer Datenmengen sind Netzwerkökonomie und Feedback zum Transferstatus entscheidend. Zu diesem Zweck erzeugen wir mit dd if=/dev/urandom of=/tmp/rsync_test/src/sample_large.dat bs=1M count=10 eine 10 MB große Testdatei:

Mit rsync -avzP /tmp/rsync_test/src/ /tmp/rsync_test/dest/ synchronisieren wir diese Daten unter Zuschaltung von Kompression und detaillierter Statusüberwachung.
Während -z die Nutzdaten vor dem Transfer komprimiert und dadurch Übertragungszeiten über das Netzwerk verringert, liefert der Parameter -P eine transparente Statusanzeige samt Prozentangabe (100%), aktueller Durchsatzrate und ermöglicht zudem das nahtlose Wiederaufsetzen bei unterbrochenen Kopiervorgängen.

Mit diesen praxisorientierten Optionen bietet rsync Administratoren ein flexibles und hochgradig anpassbares Werkzeug für automatisierte Datensicherungen und konsistente Dateispiegelungen in modernen Linux-Umgebungen.