Rsync: Unterschied zwischen den Versionen
Erscheinungsbild
	
	
| K Textersetzung - „:Dateiverwaltung“ durch „Linux:Dateiverwaltung“ | |||
| (175 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| Synchronisation von Verzeichnisbäumen | '''rsync''' - Synchronisation von Verzeichnisbäumen | ||
| ==  | == Beschreibung == | ||
| ; Verzeichnisse Synchronisieren | |||
| ''rsync'' synchonisiert zwei [[Verzeichnis]]se | |||
| * 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 | * unidirektional | ||
| * Delta-Transfer-Algorithmus | * Delta-Transfer-Algorithmus | ||
| Zeile 8: | Zeile 22: | ||
| ** Größe und Änderungszeit von Dateien in Quelle und Ziel werden verglichen | ** Größe und Änderungszeit von Dateien in Quelle und Ziel werden verglichen | ||
| * Daten können mit SSH verschlüsselt übertragen werden | * 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 | |||
| <blockquote> | |||
| 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! | |||
| </blockquote> | |||
| == Installation == | |||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| sudo apt install rsync | |||
| </syntaxhighlight> | |||
| == Aufruf == | |||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| rsync [OPTIONEN] QUELLE ZIEL | |||
| </syntaxhighlight> | |||
| === Optionen === | |||
| {| class="wikitable sortable options big gnu" | |||
| |- | |||
| ! Unix !! GNU !! Parameter !! Beschreibung | |||
| |- | |||
| | -a || || || '''[[#Archivmodus|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 | |||
| * Dies kann dazu führen, das man ungewollt Dateien löscht, die man aber noch in der Sicherung behalten möchte | |||
| |- | |||
| | -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 | |||
| * Diese Methode kann etwas länger dauern | |||
| |- | |||
| | || --iconv|| || sorgt für eine Konvertierung der Dateinamen zwischen Systemen mit verschiedenen Codepages | |||
| * Dieser Parameter kann erforderlich werden, wenn Dateien mit beispielsweise  Umlauten im Namen übertragen werden | |||
| |- | |||
| | || --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 | |||
| * Hilfreich bei Sicherungen auf Datenträger mit den Dateisystemen FAT oder NTFS, welche die unter Linux für die Verwaltung der Besitz- und Zugriffsrechte verwendete UNIX-FACL nicht unterstützen (weitere Einschränkungen) | |||
| |- | |||
| |} | |||
| ==== Archivmodus ==== | |||
| ; Beibehaltung von Dateieigenschaften | |||
| Die Option '''-a''' umfasst die Optionen '''-rlptgoD''' | |||
| {| class="wikitable options big" | |||
| ! Unix !! Beschreibung | |||
| |- | |||
| | -r || Unter[[verzeichnis]]se 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 === | |||
| <syntaxhighlight lang="bash" highlight="1" line copy> | |||
| rsync -a /home/user/ /data/backup | |||
| </syntaxhighlight> | |||
| 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 | |||
| <noinclude> | |||
| == Anhang == | |||
| === Siehe auch === | |||
| {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | |||
| ; Grafische Benutzeroberflächen | |||
| {| class="wikitable  options big" | |||
| |- | |||
| ! Programm !! Beschreibung | |||
| |- | |||
| | [[Grsync]] || Grafische Benutzeroberfläche für rsync | |||
| |- | |||
| | [[Unison]] || Grafische Oberfläche, erlaubt den Abgleich in beide Richtungen | |||
| |} | |||
| ==  | === Dokumentation === | ||
| ; Man-Page  | |||
| # [https://manpages.debian.org/stable/rsync/rsync.1.en.html rsync(1)] | |||
| ===  | === Links === | ||
| ==== Projekt ==== | |||
| # https://rsync.samba.org | |||
| ==== Weblinks ==== | |||
| # https://de.wikipedia.org/wiki/Rsync | |||
| {{SORTIERUNG:rsync}} | |||
| {{DISPLAYTITLE:rsync}} | |||
| [[Kategorie:Rsync]] | |||
| </noinclude> | |||
Aktuelle Version vom 23. Oktober 2025, 08:27 Uhr
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