Der Befehl rsync
ist eines der mächtigsten Werkzeuge unter Linux, wenn es um Backups, Datei-Synchronisation und inkrementelle Kopien geht. Im Gegensatz zu cp
kopiert rsync
nur geänderte Dateien, was Zeit und Bandbreite spart.
In diesem Beitrag sehen wir uns Syntax, Optionen und praxisnahe Beispiele für den täglichen Einsatz an.
1. Grundlegende Syntax
rsync [OPTIONEN] QUELLE ZIEL
- QUELLE: Datei oder Verzeichnis, das synchronisiert werden soll
- ZIEL: Zielpfad oder Remote-Server
2. Wichtige Optionen
Option | Bedeutung |
---|---|
-a | Archivmodus: Bewahrt Rechte, Zeiten, Links |
-v | Ausführliche Ausgabe |
-z | Kompression während der Übertragung |
-h | Menschlich lesbare Dateigrößen |
--progress | Fortschrittsanzeige |
--delete | Dateien löschen, die im Quellverzeichnis fehlen |
3. Lokale Synchronisation
Verzeichnis kopieren
rsync -avh /home/user/Dokumente /mnt/backup/
→ Erstellt ein Backup des Verzeichnisses Dokumente im Ordner backup.
Nur geänderte Dateien kopieren
rsync -avhu /home/user/Dokumente /mnt/backup/
→ -u
stellt sicher, dass nur neuere Dateien übertragen werden.
4. Remote-Synchronisation
Mit rsync
können auch Daten über SSH auf einen Remote-Server übertragen werden:
rsync -avz /home/user/Dokumente user@server:/mnt/backup/
-z
: Kompression spart Bandbreiteuser@server
: Verbindung über SSH
Vom Server herunterladen
rsync -avz user@server:/mnt/backup/ /home/user/restore/
5. Spiegelung mit Löschung
rsync -av --delete /home/user/Dokumente /mnt/backup/
→ Zielverzeichnis wird exakt wie das Quellverzeichnis, überzählige Dateien werden gelöscht.
6. Synchronisation mit Bandbreitenbegrenzung
rsync -avz --bwlimit=500 /home/user/Dokumente user@server:/mnt/backup/
→ Begrenzt die Übertragung auf 500 KB/s.
7. Trockendurchlauf
Mit --dry-run
kann überprüft werden, was passieren würde, ohne tatsächlich etwas zu kopieren:
rsync -av --dry-run /home/user/Dokumente /mnt/backup/
8. Praxisbeispiele
- Tägliches Backup mit Logdatei
rsync -avh --delete /home/user/Dokumente /mnt/backup/ >> /var/log/rsync.log 2>&1
- Inkrementelle Backups mit Datum
rsync -av /home/user/Dokumente /mnt/backup/$(date +%Y-%m-%d)/
- Komprimierte Übertragung zu Remote-Server
rsync -avz /home/user/Dokumente user@server:/backup/
9. Zusammenfassung
Befehl | Funktion |
---|---|
rsync -av quelle ziel | Verzeichnisse synchronisieren |
rsync -avz quelle user@server:ziel | Remote-Synchronisation mit Kompression |
rsync -av --delete quelle ziel | Spiegelung inkl. Löschung überzähliger Dateien |
rsync -av --dry-run quelle ziel | Testlauf ohne Änderungen |
rsync -av --bwlimit=500 quelle user@server:ziel | Bandbreitenlimit setzen |
Schreibe einen Kommentar