Einführung
Der rsync-Befehl ist eines der leistungsstärksten und vielseitigsten Werkzeuge unter Linux zum Synchronisieren und Übertragen von Dateien und Verzeichnissen. Ob Sie Daten sichern, Dateien spiegeln oder Daten zwischen Systemen übertragen müssen (lokal oder remote) – rsync ist ein unverzichtbares Hilfsprogramm für eine effiziente Dateiverwaltung.
Diese Anleitung erklärt die Grundlagen von rsync, seine Syntax, häufige Anwendungsfälle und Tipps, um seine Funktionen optimal zu nutzen.
Was ist rsync?
Rsync (Remote Sync) ist ein Befehlszeilenprogramm unter Linux, das konzipiert wurde für:
- Effiziente Dateiübertragungen: Es verwendet Delta-Codierung, um nur die geänderten Teile von Dateien zu übertragen.
- Sicherung und Synchronisierung: Ideal zum Pflegen von Sicherungen und zum Spiegeln von Verzeichnissen.
- Lokale und Remote-Übertragungen: Funktioniert nahtlos über SSH für sichere Remote-Vorgänge.
So verwenden Sie rsync
Grundlegende Syntax
Die allgemeine Syntax für rsync lautet:
rsync [options] source destination
Beispielhafte Anwendungsfälle
1. Ein lokales Verzeichnis auf einen Remote-Server kopieren
rsync -av /local/dir/ user@remote:/remote/dir/
Verwendete Optionen:
-a: Archivmodus (erhält symbolische Links, Berechtigungen, Zeitstempel usw.).-v: Ausführliche Ausgabe mit detaillierten Informationen während der Übertragung.
2. Dateien von einem Remote-Server lokal synchronisieren
rsync -azP user@remote:/remote/dir/ /local/dir/
Verwendete Optionen:
-z: Komprimiert die Dateidaten während der Übertragung für eine höhere Geschwindigkeit.-P: Zeigt den Fortschritt während der Übertragung an und ermöglicht das Fortsetzen unterbrochener Übertragungen.
3. Dateien sichern und dabei bestimmte Dateitypen ausschließen
rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/
Die Option --exclude überspringt Dateien, die dem angegebenen Muster entsprechen (z. B. Dateien mit der Endung .tmp).
4. Dateien im Ziel löschen, die in der Quelle nicht mehr vorhanden sind
rsync -av --delete /source/dir/ /destination/dir/
Warnung: Prüfen Sie Pfade immer doppelt, wenn Sie --delete verwenden, um versehentlichen Datenverlust zu vermeiden.
Vorteile der Verwendung von rsync
1. Effiziente Übertragungen
Rsync überträgt nur die geänderten Teile von Dateien und spart so Bandbreite und Zeit.
2. Vielseitigkeit
Bewältigt lokale und Remote-Übertragungen nahtlos und eignet sich daher ideal für Sicherungen, Migrationen und Synchronisierung.
3. Zuverlässigkeit
Unterstützt fortsetzbare Dateiübertragungen, sodass unterbrochene Vorgänge fortgesetzt werden können, ohne von vorn zu beginnen.
4. Sicherheit
Integriert sich in SSH für sichere Datenübertragungen über Remote-Verbindungen.
5. Anpassbarkeit
Bietet umfangreiche Optionen zum Ausschließen von Dateien, zum Festlegen von Bandbreitenlimits und mehr.
6. Plattformübergreifende Kompatibilität
Funktioniert unter Linux, Unix und sogar Windows (über Tools wie Cygwin oder WSL).
Bonustipp: Verwenden Sie den Testlauf-Modus!
Bevor Sie einen potenziell destruktiven rsync-Befehl ausführen (z. B. mit --delete), verwenden Sie das Flag --dry-run um den Vorgang zu simulieren:
rsync -av --delete --dry-run /source/dir/ /destination/dir/
So können Sie die Änderungen vor dem Anwenden prüfen und versehentlichen Datenverlust vermeiden.
Referenz
Weitere Einzelheiten finden Sie in der offiziellen Dokumentation: