rsync
Erscheinungsbild
rsync - Synchronisation von Verzeichnisbäumen
Beschreibung
- Verzeichnisse Synchronisieren
rsync synchonisiert zwei Verzeichnisse
- lokal oder remote
- Größe und Erstellungszeit
Zunächst werden Größe und Erstellungszeit verglichen
- sodass nur die Dateien behandelt werden müssen, bei denen es Änderungen gegeben hat
- Sind Quelle und Ziel lokale Pfade, werden die betroffenen Dateien normal kopiert
- Delta-Transfer-Algorithmus
Wenn Quelle oder Ziel remote (SSH/rsync-daemon)
- Nur geänderte Teile von Dateien werden übertragen
- Eigenschaften
- unidirektional
- Delta-Transfer-Algorithmus
- Nur geänderte Teile einer Datei werden übertragen
- Quick-Check-Algorithmus
- Größe und Änderungszeit von Dateien in Quelle und Ziel werden verglichen
- Daten können mit SSH verschlüsselt übertragen werden
- Verzeichnisse können auf unterschiedlichen Rechnern liegen
- wird häufig für die Erstellung von Backups verwendet
- Backup
Aufgrund dieser Eigenschaften ist rsync geeignet, um Datensicherungen durchzuführen
- Für regelmäßige automatisierte Sicherungen eignen sich Programme wie rsnapshot oder Back In Time, die ihrerseits wieder rsync verwenden
- Wenn man allerdings Verzeichnisse zwischen zwei Systemen wie Laptop und Desktop-Rechner synchronisieren möchte, sind Programme wie Unison besser geeignet
- Achtung
Vor dem Ausführen von rsync muss sicher sein, dass die korrekten Optionen und Parameter angegeben wurden
- Fehlerhafte Anwendung kann zu Datenverlust führen
- Dry run!
Installation
sudo apt install rsync
Aufruf
rsync [OPTIONEN] QUELLE ZIEL
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
| -a | Archivmodus (-rlptgoD) | ||
| -u | überspringt Dateien, die im Ziel neuer sind als in der Quelle | ||
| -v | zeigt während des Synchronisierens alle ausgeführten Schritte an | ||
| -x | berücksichtigt nur Objekte, die sich im gleichen Dateisystem befinden | ||
| -P | aktiviert folgende Optionen: --progress Fortschrittsanzeige beim Transfer anzeigen --partial Fortsetzung des Transfers bei Abbruch | ||
| -n | simuliert nur was passieren würde ("dry run") | ||
| --bwlimit | beispielsweise --bwlimit=30 limitiert die Bandbreite, die genutzt werden soll (Hilfreich, da rsync sonst die komplett verfügbare Bandbreite in Anspruch nimmt und sonstige Anwendungen damit blockiert) | ||
| -z | aktiviert die Komprimierung für die Datenübertragung (diese Option ist sinnvoll, wenn zwischen Quelle und Ziel eine langsame Verbindung besteht) | ||
| -e | damit lässt sich die remote shell auswählen, die meisten werden SSH nutzen also -e ssh | ||
| --exclude= | Muster | schließt ein bestimmtes Muster von der Sicherung aus | |
| --exclude= | ORDNER | schließt ORDNER aus, kann mehrfach angegeben werden (bezieht sich immer auf QUELLE und deren Unterordner!) | |
| --delete | vergleicht Quellverzeichnisse und Zielverzeichnisse und sorgt dafür, dass Dateien, die im Quellverzeichnis nicht (mehr) vorhanden sind, im Zielverzeichnis gelöscht werden
| ||
| -b | sorgt dafür, dass durch die Option --delete gelöschte sowie alle veränderten Objekte gesichert werden (siehe dazu folgende Option --backup-dir=) | ||
| --backup-dir= | Verzeichnis | Verzeichnis für gelöschte Objekte (siehe -b) | |
| -c | sorgt dafür, dass zum Vergleich der Dateien Checksummen gebildet werden und nicht nur die Größe und der Timestamp verglichen werden
| ||
| --iconv | sorgt für eine Konvertierung der Dateinamen zwischen Systemen mit verschiedenen Codepages
| ||
| --stats | zeigt einen ausführlicheren Report am Ende einer Übertragung an | ||
| --size-only | sorgt dafür, dass Dateien mit gleicher Dateigröße übersprungen werden, unabhängig davon, ob sie sich in anderen Eigenschaften unterscheiden
|
Archivmodus
- Beibehaltung von Dateieigenschaften
Die Option -a umfasst die Optionen -rlptgoD
| Unix | Beschreibung |
|---|---|
| -r | Unterverzeichnisse kopieren |
| -l | Symbolische Links kopieren |
| -p | Zugriffsrechte beibehalten |
| -t | Zeitstempel beibehalten |
| -g | Gruppenrechte beibehalten |
| -o | Besitzrechte beibehalten (nur root) |
| -D | Gerätedateien beibehalten (nur root) |
Argumente
rsync -a /home/user/ /data/backup
Erzeugt Verzeichnis user/ in /data/backup
- also wird in /data/backup/user geschrieben
- Daten aus /home/user/ werden in das Verzeichnis /data/backup geschrieben
- Ohne Slash
- beim Quellverzeichnis wird im angegebenen Zielverzeichnis zusätzliches Unterverzeichnis erstellt
Anhang
Siehe auch
- Grafische Benutzeroberflächen
| Programm | Beschreibung |
|---|---|
| Grsync | Grafische Benutzeroberfläche für rsync |
| Unison | Grafische Oberfläche, erlaubt den Abgleich in beide Richtungen |
Dokumentation
- Man-Page
Links
Projekt
Weblinks