layout: ../../../layouts/BlogLayout.astro title: “Der komplette rsync-Guide: 30 Befehle, die jeder Admin kennen sollte” description: “Meistere rsync mit 30 essenziellen Befehlen nach Anwendungsfall. Von einfachen Kopien bis zu Mirroring, Bandbreitendrosselung und Fehlerbehebung.” date: “2026-02-25” category: “rsync Guide” readingTime: “15 min” slug: “rsync-complete-guide” tags: [“rsync”, “linux”, “cli”, “backup”, “sync”] locale: “de”

rsync ist das Schweizer Taschenmesser der Dateiübertragung. Ob du einen Laptop sicherst, Server spiegelst oder eine Multi-Terabyte-Migration fährst — rsync hat ein Flag dafür. Dieser Guide behandelt 30 essenzielle Befehle nach Anwendungsfall sortiert — von den Grundlagen am ersten Tag bis hin zu produktionsreifen Workflows.

Was ist rsync?

rsync (remote sync) ist ein Dateikopierprogramm, das 1996 von Andrew Tridgell und Paul Mackerras erstmals veröffentlicht wurde. Es ist bekannt für seinen Delta-Transfer-Algorithmus, der nur die Unterschiede zwischen Quell- und Zieldateien überträgt und so den Netzwerkverkehr bei nachfolgenden Syncs drastisch reduziert.

Zentrale Eigenschaften:

Grundlegende Syntax

rsync [OPTIONS] SOURCE DESTINATION

Trailing Slash ist wichtig

rsync -av /src/ /dest/ kopiert den Inhalt von /src nach /dest.

rsync -av /src /dest/ kopiert das Verzeichnis selbst und erstellt /dest/src/.

Dieser Trailing-Slash-Unterschied ist die #1-Fehlerquelle bei rsync.


Abschnitt 1: Grundlegendes Kopieren & Synchronisieren (Befehle 1-8)

1. Archive-Mode-Kopie

rsync -av /source/ /destination/

Das -a (Archive) Flag erhält Berechtigungen, Zeitstempel, Symlinks und Ownership. -v liefert ausführliche Ausgabe. Das ist dein alltägliches Arbeitstier.

2. Dry Run — Vorschau vor dem Kopieren

rsync -avn /source/ /destination/

Füge -n (oder --dry-run) hinzu, um zu sehen, was passieren würde, ohne tatsächlich etwas zu übertragen. Mach bei großen oder destruktiven Operationen immer zuerst einen Dry-Run.

3. Kopieren mit Fortschrittsanzeige

rsync -av --progress /source/ /destination/

Zeigt den Fortschritt pro Datei — nützlich bei großen Dateien. Für den Gesamtfortschritt bei vielen Dateien verwende --info=progress2 (rsync 3.1+).

4. Gesamter Transferfortschritt

rsync -av --info=progress2 /source/ /destination/

Zeigt eine einzelne Fortschrittszeile mit übertragenen Bytes, Prozentsatz und Geschwindigkeit — viel übersichtlicher als der Fortschritt pro Datei bei Massentransfers.

5. Kopieren zu/von einem Remote-Server via SSH

rsync -avz -e ssh /local/data/ user@server:/remote/data/

Das -e ssh Flag (Standard in modernem rsync) nutzt SSH als Transport. Füge -z für Kompression hinzu — nützlich über WAN-Verbindungen.

6. Kopieren mit benutzerdefiniertem SSH-Port

rsync -av -e "ssh -p 2222" /local/ user@server:/remote/

Durch Umschließen des SSH-Befehls kannst du nicht standardmäßige Ports, Identity-Dateien oder beliebige SSH-Optionen angeben.

7. Rekursives Kopieren bestimmter Dateitypen

rsync -av --include='*.log' --exclude='*' /source/ /destination/

Kopiert nur .log-Dateien. Die --include/--exclude-Reihenfolge ist wichtig — rsync wertet Regeln von oben nach unten aus.

8. Bestimmte Verzeichnisse ausschließen

rsync -av --exclude='.git' --exclude='node_modules' /project/ /backup/

Überspringe Verzeichnisse, die du nicht im Backup brauchst. Verwende --exclude-from=file.txt für komplexe Ausschlusslisten.


Abschnitt 2: Mirroring & Löschung (Befehle 9-14)

9. Quelle zum Ziel spiegeln (mit Löschung)

rsync -av --delete /source/ /destination/

Destruktive Operation

—delete entfernt Dateien vom Ziel, die auf der Quelle nicht existieren. Kombiniert mit einem falschen Trailing Slash kann das Daten vernichten. Mach immer zuerst einen Dry-Run.

10. Dateien vor dem Transfer löschen

rsync -av --delete-before /source/ /destination/

Gibt Speicherplatz auf dem Ziel frei, bevor neue Dateien kopiert werden. Nützlich, wenn das Ziel fast voll ist.

11. Dateien nach dem Transfer löschen

rsync -av --delete-after /source/ /destination/

Sicherer als --delete-before — neue Dateien kommen an, bevor alte entfernt werden. Standardverhalten von --delete.

12. Dateien verschieben (von der Quelle nach dem Transfer löschen)

rsync -av --remove-source-files /source/ /destination/

Überträgt Dateien und löscht sie dann von der Quelle. Hinweis: Löscht nur Dateien, keine leeren Verzeichnisse.

13. Nur aktualisieren — neuere Dateien auf dem Ziel überspringen

rsync -av --update /source/ /destination/

Überspringt Dateien, die auf dem Ziel neuer sind. Nützlich, wenn mehrere Quellen zu einem Ziel beitragen.

14. Spiegeln mit Checksummen-Verifizierung

rsync -avc --delete /source/ /destination/

Das -c Flag verwendet Checksummen statt Zeitstempel+Größe, um zu bestimmen, welche Dateien aktualisiert werden müssen. Langsamer, erkennt aber Korruption.


Abschnitt 3: Performance & Bandbreite (Befehle 15-20)

15. Bandbreite begrenzen

rsync -av --bwlimit=50000 /source/ user@server:/destination/

Begrenzt den Transfer auf ~50 MB/s (Wert in KiB/s). Unverzichtbar für Migrationen, die sich Bandbreite mit dem Produktionsbetrieb teilen.

16. Kompression aktivieren

rsync -avz /source/ user@server:/destination/

Das -z Flag komprimiert Daten während der Übertragung. Vorteilhaft für textlastige Transfers über langsame Verbindungen. Überspringe es in schnellen LANs — Kompression erzeugt CPU-Overhead.

17. Paralleles rsync mit find

find /source/ -maxdepth 1 -type d | xargs -P 4 -I {} rsync -av {} /destination/

Führt 4 parallele rsync-Prozesse aus, einen pro Top-Level-Verzeichnis. Grob, aber effektiv, um schnelle Netzwerke auszulasten.

18. Transfer mit I/O-Priorität

ionice -c2 -n7 rsync -av /source/ /destination/

Führt rsync mit der niedrigsten I/O-Priorität aus, um die Produktionslast nicht zu beeinträchtigen.

19. Unterbrochenen Transfer fortsetzen

rsync -av --partial --progress /source/ /destination/

Das --partial Flag behält teilweise übertragene Dateien bei, damit rsync dort weitermachen kann, wo es aufgehört hat. Füge --partial-dir=.rsync-partial hinzu, um Partials in einem versteckten Verzeichnis zu halten.

20. Whole-File-Modus (Delta-Algorithmus überspringen)

rsync -avW /source/ /destination/

Das -W Flag sendet ganze Dateien statt Deltas zu berechnen. Schneller für initiale Kopien in schnellen Netzwerken, wo Delta-Berechnung verschwendete CPU ist.


Abschnitt 4: Erweiterte Workflows (Befehle 21-26)

rsync -av --delete --link-dest=/backups/latest /source/ /backups/2026-02-25/
ln -snf /backups/2026-02-25 /backups/latest

Erstellt platzsparende inkrementelle Backups mittels Hard Links. Unveränderte Dateien teilen sich den Speicherplatz mit dem vorherigen Backup.

22. ACLs und erweiterte Attribute erhalten

rsync -avAX /source/ /destination/

-A erhält ACLs, -X erhält erweiterte Attribute. Erforderlich für die vollständige Metadaten-Erhaltung auf Linux-Dateisystemen.

23. In eine Datei loggen

rsync -av --log-file=/var/log/rsync-migration.log /source/ /destination/

Erstellt ein detailliertes Log jeder übertragenen, übersprungenen oder gelöschten Datei. Unverzichtbar für Audit-Trails.

24. Dateien nach Muster aus einer Liste übertragen

rsync -av --files-from=filelist.txt /source/ /destination/

Kopiert nur die in filelist.txt aufgelisteten Dateien (ein Pfad pro Zeile, relativ zur Quelle). Nützlich für selektive Migrationen.

25. Verzeichnisse vergleichen ohne zu kopieren

rsync -avn --delete /source/ /destination/ | grep "deleting\|>f"

Nutzt den Dry-Run-Modus, um zu zeigen, welche Dateien sich zwischen Quelle und Ziel unterscheiden. Ein schnelles Diff-Tool.

26. Sync über rsync-Daemon (ohne SSH)

rsync -av rsync://server/module/ /destination/

Verbindet sich mit einem rsync-Daemon (rsyncd) statt SSH. Nützlich für anonyme oder hochperformante Transfers in vertrauenswürdigen Netzwerken.


Abschnitt 5: Sicherheit & Fehlerbehebung (Befehle 27-30)

27. Maximale Dateigrößenfilter

rsync -av --max-size=100M /source/ /destination/

Überspringt Dateien größer als 100MB. Nützlich, um große Dateien zu separieren, die besondere Behandlung brauchen.

28. Timeout für hängende Transfers setzen

rsync -av --timeout=300 /source/ user@server:/destination/

Bricht den Transfer ab, wenn 300 Sekunden lang keine Daten empfangen werden. Verhindert hängende rsync-Prozesse.

29. Nur-Checksummen-Verifizierung (kein Transfer)

rsync -avn --checksum /source/ /destination/

Vergleicht Checksummen, ohne etwas zu übertragen — ein reiner Verifizierungsdurchlauf.

30. Ausführliche Statistik-Zusammenfassung

rsync -av --stats /source/ /destination/

Gibt am Ende eine Zusammenfassung mit Gesamtdateien, übertragenen Bytes, Speedup-Verhältnis und mehr aus.


Fehlerbehebung häufiger Probleme

ProblemWahrscheinliche UrsacheLösung
”Permission denied” auf dem ZielBenutzer hat keine SchreibrechteOwnership prüfen und chmod; --no-perms verwenden, wenn Berechtigungen egal sind
Transfer extrem langsamViele kleine Dateien, hohe Latenz--whole-file verwenden, MaxStartups in sshd_config erhöhen
”rsync error: some files vanished”Dateien während des Scans gelöschtNormalerweise harmlos; --ignore-missing-args verwenden
Dateien werden jedes Mal neu übertragenZeitstempel-Präzisionsunterschied (NFS)--modify-window=1 oder --checksum verwenden
”Argument list too long”Zu viele Dateien in einem Verzeichnis--files-from oder `find
Symlinks nicht erhaltenFehlendes -l Flag-a verwenden (enthält -l) oder -l explizit

Performance-Tipps

  1. Verwende --whole-file für initiale Kopien — Delta-Berechnung ist verschwendet bei Dateien, die noch nicht existieren
  2. Deaktiviere Kompression in LANs — CPU-Overhead überwiegt die Einsparungen in 1Gbit/s+ Netzwerken
  3. Parallelisiere nach Verzeichnis — nutze xargs -P oder GNU parallel für mehrere Streams
  4. Optimiere SSH-Ciphersssh -c aes128-gcm@openssh.com ist schneller als der Standard
  5. Erhöhe I/O-Puffer--sockopts=SO_SNDBUF=4194304 bei Verbindungen mit hoher Latenz

Wenn rsync nicht mehr reicht

rsync ist brillant in dem, was es tut, aber es hat echte Einschränkungen für Enterprise-Migrationen:

syncopio macht all das mit einer Web-UI

syncopio vereint die Power von rsync-artigen Transfers in einem Web-Dashboard mit verteilten Workern, integrierter Verifizierung, Multi-Protokoll-Unterstützung (NFS, SMB, S3) und Echtzeit-Monitoring. Alle Features ansehen oder syncopio vs rsync im Detail vergleichen.

syncopio Dashboard zeigt eine Multi-Terabyte-Migration mit Echtzeit-Fortschritt, ETA und Datei-Level-Details 1200x800
syncopio Dashboard zeigt eine Multi-Terabyte-Migration mit Echtzeit-Fortschritt, ETA und Datei-Level-Details

Weiterführende Lektüre