Startseite > Datei- und Verzeichnisverwaltung > rsync

rsync: Synchronisation von Dateien und Verzeichnissen

rsync ist ein leistungsstarkes Dienstprogramm zur effizienten Synchronisation von Dateien und Verzeichnissen zwischen lokalen oder entfernten Systemen. Es spart Netzwerkbandbreite und optimiert die Übertragungsgeschwindigkeit, indem es einen Delta-Transfer-Algorithmus verwendet, der nur geänderte Teile überträgt. Es wird für verschiedene Zwecke wie Backups, Spiegelung und Dateiverteilung eingesetzt.

Übersicht

rsync ist durch die Verwendung des 'Delta-Transfer'-Verfahrens, das nur geänderte Teile von Dateien überträgt, sehr effizient beim Synchronisieren großer Dateien oder vieler Dateien. Es kann Dateien zwischen lokalen Dateisystemen, von lokal zu entfernt und von entfernt zu lokal übertragen.

Hauptmerkmale

  • Delta-Übertragung (nur geänderte Teile übertragen)
  • Unterstützung für lokale und entfernte Synchronisation
  • Beibehaltung von Metadaten wie Berechtigungen, Eigentümer, Zeitstempel
  • Komprimierte Übertragung und Bandbreitenkontrolle
  • Angabe von Mustern zum Ausschließen/Einschließen von Dateien

Wichtige Optionen

rsync bietet eine Vielzahl von Optionen, aber hier sind die am häufigsten verwendeten:

Grundlegende Operationen und Archivierung

Übertragungssteuerung

Netzwerk

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`rsync` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Beispiele, die verschiedene Anwendungsszenarien von rsync zeigen.

Lokale Verzeichnisse synchronisieren (am häufigsten)

rsync -avz /pfad/zum/quelle/ /pfad/zum/ziel/

Kopiert/synchronisiert den Inhalt des Quellverzeichnisses in das Zielverzeichnis. Die Kombination der Optionen -a (Archiv), -v (ausführlich) und -z (komprimiert) wird am häufigsten verwendet.

Dateien auf einen entfernten Server pushen

rsync -avz /pfad/zum/lokalen_quelle/ benutzer@entfernter_host:/pfad/zum/entfernten_ziel/

Synchronisiert das lokale Quellverzeichnis mit dem Zielverzeichnis auf dem entfernten Server.

Dateien von einem entfernten Server ziehen

rsync -avz benutzer@entfernter_host:/pfad/zum/entfernten_quelle/ /pfad/zum/lokalen_ziel/

Synchronisiert das Quellverzeichnis auf dem entfernten Server mit dem Zielverzeichnis auf dem lokalen System.

Quelle und Ziel spiegeln (Option --delete)

rsync -avz --delete /pfad/zum/quelle/ /pfad/zum/ziel/

Gleicht das Quellverzeichnis exakt mit dem Ziel ab. Dateien, die in der Quelle nicht vorhanden sind, werden im Ziel gelöscht. Es wird dringend empfohlen, dies zuerst mit `--dry-run` zu testen.

Bestimmte Dateien/Verzeichnisse ausschließen

rsync -avz --exclude='*.log' --exclude='temp/' /pfad/zum/quelle/ /pfad/zum/ziel/

Schließt Log-Dateien und das Verzeichnis 'temp' von der Synchronisation aus.

Simulation vor der Ausführung (--dry-run)

rsync -avz --delete --dry-run /pfad/zum/quelle/ /pfad/zum/ziel/

Zeigt an, welche Aktionen rsync ausführen würde, ohne tatsächlich Dateien zu ändern. Dies ist besonders wichtig, bevor die Option `--delete` verwendet wird.

Installation

rsync ist auf den meisten Linux-Distributionen standardmäßig installiert. Falls es nicht installiert ist, können Sie es mit den folgenden Befehlen installieren:

Debian/Ubuntu

sudo apt update
sudo apt install rsync

CentOS/RHEL/Fedora

sudo yum install rsync

Arch Linux

sudo pacman -S rsync

Tipps & Hinweise

Tipps und Hinweise zur effektiveren und sichereren Verwendung von rsync.

Bedeutung des abschließenden Schrägstrichs (/) im Pfad

Das Vorhandensein oder Fehlen des abschließenden Schrägstrichs im Quellpfad beeinflusst das Verhalten.

  • `/pfad/zum/quelle/` (mit Schrägstrich): Kopiert den 'Inhalt' des `quelle`-Verzeichnisses in das Ziel.
  • `/pfad/zum/quelle` (ohne Schrägstrich): Kopiert das `quelle`-Verzeichnis 'selbst' in das Ziel. (Das `quelle`-Verzeichnis wird innerhalb des Zielverzeichnisses erstellt)

Nutzung der Option --dry-run

Insbesondere bei der Verwendung destruktiver Optionen wie `--delete` sollten Sie unbedingt zuerst mit `--dry-run` testen, um unerwarteten Datenverlust zu vermeiden.

Berechtigungs- und Eigentümerprobleme

Die Option `--archive` versucht, Berechtigungen und Eigentümer beizubehalten. Wenn der entsprechende Benutzer/die entsprechende Gruppe auf dem Zielsystem nicht existiert oder keine Berechtigungen vorhanden sind, können Probleme auftreten. In diesem Fall können Sie `sudo` verwenden oder Optionen wie `--no-p` (Berechtigungen nicht beibehalten), `--no-o` (Eigentümer nicht beibehalten), `--no-g` (Gruppe nicht beibehalten) in Betracht ziehen.

Bandbreitenbegrenzung

Um nicht zu viel Netzwerkbandbreite zu verbrauchen, können Sie die Übertragungsgeschwindigkeit mit der Option `--bwlimit=KBPS` begrenzen. (z. B. `--bwlimit=1000` begrenzt auf 1 MB/s)


Gleiche Kategorie Befehle