rsync
rsync ist das klassische Werkzeug zum Spiegeln und Übertragen von Dateien. Es vergleicht Quelle und Ziel und überträgt bei den üblichen Transfers über das Netz nur die geänderten Teile statt der ganzen Dateien; bei lokalen Kopien und mit --whole-file schreibt es die Datei dagegen vollständig. Das macht es zum Transfer-Primitiv vieler Backup-Routinen. Die ehrliche Abgrenzung lautet: rsync allein ist kein versioniertes Backup.
Wer grosse Datenmengen zwischen zwei Maschinen aktuell halten will, kopiert sie meist immer wieder vollständig oder vertraut einem fremden Cloud-Dienst. rsync löst die andere Hälfte des Problems: Es hält zwei Verzeichnisse abgeglichen, indem es nach dem ersten Lauf nur noch die Differenzen über die Leitung schickt. Genau diese Sparsamkeit macht es seit Jahrzehnten zum Standardbaustein unter Backup-, Spiegelungs- und Verteilskripten. Diese Seite beschreibt, wie der Delta-Transfer arbeitet, wo rsync der richtige Baustein ist, und warum es eine durchdachte Backup- und Restore-Strategie ergänzt, aber nicht ersetzt.
Das Prinzip
rsync gleicht eine Quelle mit einem Ziel ab und sorgt dafür, dass das Ziel danach dem Stand der Quelle entspricht. Quelle und Ziel können auf derselben Maschine liegen, oder das Ziel liegt auf einem entfernten Rechner, den rsync üblicherweise über SSH erreicht. Der Datenverkehr läuft dann verschlüsselt durch denselben sicheren Kanal wie eine SSH-Sitzung.
- Nur Differenzen. Beim ersten Lauf wird alles übertragen. Bei jedem weiteren Lauf vergleicht rsync die Dateien und schickt nur, was sich geändert hat. Das spart Bandbreite und Zeit.
- Erhaltene Eigenschaften. Mit der Sammeloption
--archive(-a) bleiben Rechte, Zeitstempel, Symlinks und Verzeichnisstruktur erhalten. Sie ist eine Kurzform für mehrere Einzeloptionen und deckt fast alles ab, lässt aber ACLs, erweiterte Attribute und Hardlinks ausdrücklich aus, die eigene Schalter brauchen. - Probelauf. Mit
--dry-runzeigt rsync, was es tun würde, ohne etwas zu ändern. Bei einer Spiegelung mit Löschungen ist das die günstigste Versicherung gegen einen Fehlgriff.
rsync ist freie Software unter der GNU General Public License Version 3 (GNU GPLv3). Der Code liegt offen, das Verfahren ist nachprüfbar, und es entsteht kein Vendor Lock-in an einen Transfer-Dienst.
Der Delta-Transfer
Das Herzstück ist der Delta-Transfer-Algorithmus, den Andrew Tridgell in seiner Dissertation beschrieben hat. Er sorgt dafür, dass rsync auch innerhalb einer einzelnen, teilweise geänderten Datei nur die veränderten Blöcke überträgt, statt die Datei als Ganzes neu zu schicken. Drei Rollen teilen sich die Arbeit:
flowchart TD
A["Generator am Ziel<br/>bildet Prüfsummen je Block"] --> B["Prüfsummen zum Sender<br/>nur Metadaten über die Leitung"]
B --> C["Sender vergleicht<br/>rollende Prüfsumme, Block für Block"]
C --> D["Sender schickt<br/>geänderte Blöcke plus Bauanleitung"]
D --> E["Empfänger setzt zusammen<br/>passende Blöcke lokal, neue aus dem Strom"]
Der Generator am Ziel bildet Prüfsummen über die Blöcke der bereits vorhandenen Datei und schickt sie an den Sender. Der Sender liest die Quelldatei mit einer rollenden Prüfsumme und sucht darin Blöcke, die das Ziel schon kennt. Was übereinstimmt, wird nur als Verweis benannt; was neu ist, geht als Rohdaten über die Leitung. Der Empfänger baut die Datei aus lokal vorhandenen Blöcken und den wenigen neuen Daten zusammen. So wandert über das Netz nur, was sich tatsächlich geändert hat.
Spiegeln, nicht versionieren
Hier liegt die wichtige Abgrenzung. Im Normalbetrieb spiegelt rsync den aktuellen Stand der Quelle auf das Ziel. Mit der Option --delete entfernt es am Ziel auch alles, was in der Quelle nicht mehr existiert. Genau das ist bei einer Spiegelung gewollt und zugleich gefährlich: Eine versehentlich gelöschte oder beschädigte Datei in der Quelle wird beim nächsten Lauf auch am Ziel gelöscht oder überschrieben. Eine reine Spiegelung schützt vor dem Ausfall eines Datenträgers, nicht vor dem eigenen Fehler.
rsync allein hält also keine Versionsgeschichte. Es gibt keinen eingebauten Katalog früherer Stände, aus dem sich ein Zustand von gestern wiederherstellen liesse. Wer mit rsync ein echtes Backup baut, kombiniert es mit einem zweiten Baustein, der die Zeitachse liefert. Verbreitet ist die Option --link-dest: Sie verweist auf einen vorigen Sicherungslauf und legt unveränderte Dateien als Hardlink statt als Kopie ab. So entstehen viele datierte Schnappschüsse, die zusammen nur wenig mehr Platz belegen als eine einzige Kopie. Das ist ein bewährtes, aber selbstgebautes Muster, kein fertiges Produkt mit Oberfläche, Verschlüsselung und Restore-Logik. Ein dediziertes Backup-Werkzeug wie Duplicati liefert genau diese Schicht mit.
Wo rsync passt und wo nicht
- Passt. Grosse Datenmengen sparsam über das Netz aktuell halten, Server spiegeln, Verzeichnisse vor einem Umzug übertragen und als Transfer-Schicht unter eigenen Backup-Skripten dienen. Wegen des Delta-Verfahrens ist ein wiederholter Lauf über eine dünne Leitung günstig.
- Passt mit Vorsicht. Als Spiegelung mit
--deleteist rsync scharf. Ohne vorherigen--dry-runund ohne getrennte, älteren Stand sichernde Kopie kann ein falsch gesetzter Pfad Daten am Ziel löschen. - Passt nicht als alleiniges Backup. Ohne
--link-destoder ein darüberliegendes Werkzeug fehlt die Versionierung. Sync und Spiegelung sind nicht dasselbe wie ein wiederherstellbares, versioniertes Backup. - Passt nicht als kontinuierlicher Sync. rsync läuft als Aufruf, nicht als Dienst. Wer Ordner laufend in beide Richtungen synchron halten will, greift eher zu Syncthing; rsync gleicht in der Regel in eine Richtung und auf Abruf ab.
Der Baustein im Backup-Bild
rsync ist selten die ganze Lösung und fast immer ein Teil davon. Die saubere Trennung von Spiegelung, Synchronisation und echtem, versioniertem Backup behandelt die Backup- und Restore-Strategie: Spiegelung hält eine zweite Kopie aktuell, Sync gleicht Geräte ab, und erst ein versioniertes Backup erlaubt es, einen Stand von vorgestern wiederherzustellen. rsync besetzt den ersten Platz und liefert oft die Transport-Schicht für den dritten. Ein kontinuierlicher Geräteabgleich, etwa mit Syncthing, und ein verschlüsseltes, versioniertes Backup, etwa mit Duplicati, decken die anderen Plätze ab.
Ob ein solcher Datenpfad selbst betrieben oder als Dienst bezogen wird und ob die Daten dabei unter eigener Kontrolle und nur verschlüsselt auf fremden Maschinen liegen, sind die Abwägungen, die darüber entscheiden, wie der Pfad gebaut wird. Auf eigener Infrastruktur betrieben, ist rsync ein Baustein souveräner Infrastruktur, weil die Daten den eigenen Hoheitsbereich nicht verlassen.
Referenzen
- rsync Version 3.4.4. Aktuelle stabile Version, ein Korrekturrelease auf der Sicherheitsfreigabe 3.4.3, freie Software unter der GNU GPLv3. (08.06.2026). rsync.samba.org/
- rsync How rsync works, a practical overview. Beschreibung der Rollen Generator, Sender und Empfänger und des rollenden Prüfsummen-Verfahrens. (2026). rsync.samba.org/how-rsync-works.html
- rsync Handbuchseite rsync(1). Referenz der Optionen, darunter
--archive,--delete,--link-destund--dry-run. (2026). download.samba.org/pub/rsync/rsync.1 - Andrew Tridgell Efficient Algorithms for Sorting and Synchronization. Die Dissertation, die den rsync-Algorithmus formal herleitet. (1999). www.samba.org/~tridge/phd_thesis.pdf
Verwandte Themen
- Backup- und Restore-Strategie, die Trennung von Spiegelung, Sync und versioniertem Backup.
- Digitale Souveränität, die Kontrolle über Daten und Infrastruktur ohne fremde Server.
KI fragen
Diese Links öffnen externe KI-Dienste, die Unterhaltung und deren Inhalt werden dabei an den jeweiligen Anbieter übertragen.