Hauptoptionen
Kombinieren Sie die verschiedenen Optionen des `rsync`-Befehls, um Datei-Synchronisations- und Backup-Aufgaben einzurichten.
1. Grundlegende Synchronisation
2. Übertragungsmodus und Optionen
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.
Funktionsweise von rsync
`rsync` verwendet den Algorithmus der 'Delta-Codierung', um nur die geänderten Teile von Dateien zu übertragen, wodurch die Netzwerknutzung effizient erfolgt. Dies macht es sehr schnell und effizient beim Synchronisieren großer Dateien oder vieler Dateien.
Hauptmerkmale von rsync
Kernfunktionen, die `rsync` von anderen Kopierwerkzeugen unterscheiden.
- Delta-Übertragung (Delta Transfer): Identifiziert nur die Unterschiede zwischen Quelle und Ziel und überträgt diese. Anstatt die gesamte Datei erneut zu kopieren, werden nur die geänderten Blöcke übertragen, um die Effizienz zu maximieren.
- Inkrementelles Backup (Incremental Backup): Kopiert nur die geänderten Dateien seit dem letzten Backup, sodass kein vollständiges Backup erforderlich ist und Zeit und Speicherplatz gespart werden.
- Remote-Synchronisation: Kann Dateien über verschlüsselte Kanäle mit verschiedenen Remote-Shells, einschließlich SSH, übertragen, was die Sicherheit erhöht.
- Dateieigenschaften beibehalten: Die Verwendung des Archivmodus (`-a`) bewahrt alle Dateienigenschaften wie Berechtigungen, Eigentümer, Gruppe, Zeitstempel und symbolische Links.
Bedeutung des abschließenden Schrägstrichs (Trailing Slash)
`rsync` ist es sehr wichtig, ob Sie am Ende des Quellpfades einen Schrägstrich (`/`) hinzufügen. - `source/`: Kopiert den **Inhalt** des Verzeichnisses `source`. (Ähnlich wie `cp source/* dest/`) - `source`: Kopiert das **Verzeichnis selbst** `source`. (Ähnlich wie `cp -r source dest/`) Wenn Sie diesen Unterschied nicht verstehen, können unerwartete Ergebnisse auftreten.
Verwendungsbeispiele
Nutzen Sie praktische Anwendungsbeispiele des `rsync`-Befehls, um Strategien zur Datei-Synchronisation und Backup zu entwickeln.
Lokale Verzeichnis-Synchronisation (Archivmodus)
rsync -av /path/to/source_dir/ /path/to/destination_dir/
Synchronisiert den Inhalt von `source_dir` mit `destination_dir`. Bewahrt alle Eigenschaften wie Berechtigungen und Zeiten. Dateien, die nicht in `source_dir` vorhanden sind, werden nicht aus `destination_dir` gelöscht.
Spiegelung eines Verzeichnisses auf einen Remote-Server (Backup)
rsync -avz --delete --progress /local/my_data/ user@remote_host:/remote/backup/
Spiegelt den Inhalt des lokalen Verzeichnisses `my_data` in das Verzeichnis `/backup/` des Remote-Servers. Dateien, die nicht in der Quelle vorhanden sind, werden auch im Ziel gelöscht. Verwendet Kompression und zeigt den Fortschritt an.
Nur bestimmte Dateien von einem Remote-Server lokal abrufen
rsync -avz --include='*.log' --exclude='*' user@remote_host:/var/log/ /tmp/logs/
Holt nur `.log`-Dateien aus dem Verzeichnis `/var/log/` des Remote-Servers in das lokale Verzeichnis `/tmp/logs/`.
Änderungen ohne tatsächliche Ausführung überprüfen
rsync -avz --delete --dry-run /path/to/source/ /path/to/destination/
Überprüft im Voraus, welche Änderungen auftreten würden, ohne tatsächlich Dateien zu übertragen oder zu löschen. Es ist ratsam, dies vor einer wichtigen Synchronisation immer zu verwenden.
Synchronisation mit einem anderen SSH-Port
rsync -avz -e "ssh -p 2222" /local/src/ user@remote_host:/remote/dest/
Synchronisiert Dateien mit einem Remote-Server unter Verwendung des Ports 2222 anstelle des Standard-SSH-Ports (22).