Rsync: Unterschied zwischen den Versionen
Erscheinungsbild
(90 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
rsync - Synchronisation von Verzeichnisbäumen | '''rsync''' - Synchronisation von Verzeichnisbäumen | ||
== Beschreibung == | == Beschreibung == | ||
rsync - ( | ; 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 12: | Zeile 25: | ||
* wird häufig für die Erstellung von Backups verwendet | * wird häufig für die Erstellung von Backups verwendet | ||
; | ; Backup | ||
Aufgrund dieser Eigenschaften ist rsync geeignet, um Datensicherungen durchzuführen | |||
Aufgrund dieser Eigenschaften ist rsync | |||
* Für regelmäßige automatisierte Sicherungen eignen sich Programme wie [[rsnapshot]] oder [[Back In Time]], die ihrerseits wieder rsync verwenden | * 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 | * 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 == | == Installation == | ||
Zeile 33: | Zeile 48: | ||
=== Optionen === | === Optionen === | ||
{| class="wikitable options" | {| class="wikitable sortable options gnu" | ||
|- | |||
! Unix !! GNU !! Parameter !! Beschreibung | |||
|- | |- | ||
| -a || || || '''[[#Archivmodus|Archivmodus]]''' (-rlptgoD) | |||
|- | |- | ||
| -u || || || überspringt Dateien, die im Ziel neuer sind als in der Quelle | |||
| | überspringt Dateien, die im Ziel neuer sind als in der Quelle | |||
|- | |- | ||
| -v || || || zeigt während des Synchronisierens alle ausgeführten Schritte an | |||
| | zeigt während des Synchronisierens alle ausgeführten Schritte an | |||
|- | |- | ||
| -x || || || berücksichtigt nur Objekte, die sich im gleichen Dateisystem befinden | |||
| | 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 | |||
| | aktiviert folgende Optionen: --progress Fortschrittsanzeige beim Transfer anzeigen --partial Fortsetzung des Transfers bei Abbruch | |||
|- | |- | ||
| -n || || || simuliert nur was passieren würde ("dry run") | |||
| | simuliert nur was passieren würde ("dry run") | |||
|- | |- | ||
| | --bwlimit | | || --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) | |||
| | 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 | |||
| | damit lässt sich die remote shell auswählen, die meisten werden SSH nutzen also -e ssh | |||
|- | |- | ||
| | --exclude=Muster | | || --exclude=|| Muster|| schließt ein bestimmtes Muster von der Sicherung aus | ||
| | schließt ein bestimmtes Muster von der Sicherung aus | |||
|- | |- | ||
| | --exclude= | | || --exclude= || ORDNER || schließt ORDNER aus, kann mehrfach angegeben werden (bezieht sich immer auf QUELLE und deren Unterordner!) | ||
| | schließt | |||
|- | |- | ||
| | --delete | | || --delete || || vergleicht Quellverzeichnisse und Zielverzeichnisse und sorgt dafür, dass Dateien, die im Quellverzeichnis nicht (mehr) vorhanden sind, im Zielverzeichnis gelöscht werden | ||
| | 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 | * 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=) | |||
| | 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 | | || --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 | |||
| | 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 | * Diese Methode kann etwas länger dauern | ||
|- | |- | ||
| | --iconv | | || --iconv|| || sorgt für eine Konvertierung der Dateinamen zwischen Systemen mit verschiedenen Codepages | ||
| | 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 | ||
* Dieser Parameter kann erforderlich werden, wenn Dateien mit | |||
|- | |- | ||
| | --stats | | || --stats|| || zeigt einen ausführlicheren Report am Ende einer Übertragung an | ||
| | zeigt einen ausführlicheren Report am Ende einer Übertragung an | |||
|- | |- | ||
| | --size-only | | || --size-only|| || sorgt dafür, dass Dateien mit gleicher Dateigröße übersprungen werden, unabhängig davon, ob sie sich in anderen Eigenschaften unterscheiden | ||
| | 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) | * 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" | {| class="wikitable options" | ||
! Unix !! Beschreibung | |||
|- | |- | ||
| -r || | | -r || Unter[[verzeichnis]]se kopieren | ||
|- | |- | ||
| -l || | | -l || [[Symbolische Links]] kopieren | ||
|- | |- | ||
| -p || | | -p || [[Zugriffsrechte]] beibehalten | ||
|- | |- | ||
| -t || | | -t || [[Zeitstempel]] beibehalten | ||
|- | |- | ||
| -g || | | -g || [[Gruppenrechte]] beibehalten | ||
|- | |- | ||
| -o || | | -o || [[Besitzrechte]] beibehalten (nur root) | ||
|- | |- | ||
| -D || | | -D || [[Gerätedateien]] beibehalten (nur root) | ||
|} | |} | ||
=== Argumente === | === Argumente === | ||
<syntaxhighlight lang="bash" highlight="1" line> | <syntaxhighlight lang="bash" highlight="1" line> | ||
rsync | rsync -a /home/user/ /data/backup | ||
</syntaxhighlight> | </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> | <noinclude> | ||
Zeile 161: | Zeile 132: | ||
=== Siehe auch === | === Siehe auch === | ||
{{Special:PrefixIndex/{{BASEPAGENAME}}/}} | {{Special:PrefixIndex/{{BASEPAGENAME}}/}} | ||
; Man-Page | ; Grafische Benutzeroberflächen | ||
# | {| class="wikitable options" | ||
|- | |||
! 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 | # https://de.wikipedia.org/wiki/Rsync | ||
{{SORTIERUNG:rsync}} | {{SORTIERUNG:rsync}} | ||
{{DISPLAYTITLE:rsync}} | {{DISPLAYTITLE:rsync}} | ||
[[Kategorie: | [[Kategorie:Rsync]] | ||
</noinclude> | </noinclude> |
Aktuelle Version vom 2. Mai 2025, 16:08 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