Rsync: Unterschied zwischen den Versionen
Erscheinungsbild
| Zeile 36: | Zeile 36: | ||
=== Optionen === | === Optionen === | ||
== Optionen == | |||
Es ist empfehlenswert, die Option <tt>-a</tt> immer zu benutzen, um alle Rechte und Eigentümer der Quelldatei auf dem Zielmedium zu übernehmen | |||
{| class="wikitable options" | |||
! Unix !! Beschreibung | |||
|- | |||
| -a || fasst folgende Optionen zusammen | |||
|- | |||
| -r || kopiert Unterverzeichnisse | |||
|- | |||
| -l || kopiert symbolische Links | |||
|- | |||
| -p || behält Rechte der Quelldatei bei | |||
|- | |||
| -t || behält Zeiten der Quelldatei bei | |||
|- | |||
| -g || behält Gruppenrechte der Quelldatei bei | |||
|- | |||
| -o || behält Besitzrechte der Quelldatei bei (nur root) | |||
|- | |||
| -D || behält Gerätedateien der Quelldatei bei (nur root) | |||
|} | |||
{| class="wikitable" | |||
|- | |||
| colspan="2" | '''Weitere Optionen ''' | |||
|- | |||
| | '''Option ''' | |||
| | '''Wirkung ''' | |||
|- | |||
| | <tt>'''-u '''</tt> | |||
| | überspringt Dateien, die im Ziel neuer sind als in der Quelle | |||
|- | |||
| | <tt>'''-v '''</tt> | |||
| | zeigt während des Synchronisierens alle ausgeführten Schritte an | |||
|- | |||
| | <tt>'''-x '''</tt> | |||
| | berücksichtigt nur Objekte, die sich im gleichen Dateisystem befinden | |||
|- | |||
| | <tt>'''-P '''</tt> | |||
| | aktiviert folgende Optionen: <tt>--progress</tt> Fortschrittsanzeige beim Transfer anzeigen <tt>--partial</tt> Fortsetzung des Transfers bei Abbruch | |||
|- | |||
| | <tt>'''-n '''</tt> | |||
| | simuliert nur was passieren würde ("dry run") | |||
|- | |||
| | <tt>'''--bwlimit '''</tt> | |||
| | z. B. <tt>--bwlimit=30</tt> limitiert die Bandbreite, die genutzt werden soll (Hilfreich, da rsync sonst die komplett verfügbare Bandbreite in Anspruch nimmt und sonstige Anwendungen damit blockiert) | |||
|- | |||
| | <tt>'''-z '''</tt> | |||
| | aktiviert die Komprimierung für die Datenübertragung (diese Option ist sinnvoll, wenn zwischen Quelle und Ziel eine langsame Verbindung besteht) | |||
|- | |||
| | <tt>'''-e '''</tt> | |||
| | damit lässt sich die remote shell auswählen, die meisten werden SSH nutzen also <tt>-e ssh</tt> | |||
|- | |||
| | <tt>'''--exclude=Muster '''</tt> | |||
| | schließt ein bestimmtes Muster von der Sicherung aus | |||
|- | |||
| | <tt>'''--exclude=ORDNER1 --exclude=ORDNER2 '''</tt> | |||
| | schließt ORDNER1 und ORDNER2 von der Sicherung aus (bezieht sich immer auf <tt>QUELLE</tt> und deren Unterordner!) | |||
|- | |||
| | <tt>'''--delete '''</tt> | |||
| | 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 | |||
|- | |||
| | <tt>'''-b '''</tt> | |||
| | sorgt dafür, dass durch die Option <tt>--delete</tt> gelöschte sowie alle veränderten Objekte gesichert werden (siehe dazu folgende Option <tt>--backup-dir=</tt>) | |||
|- | |||
| | <tt>'''--backup-dir=Verzeichnis '''</tt> | |||
| | kann man ein Verzeichnis für die gelöschten Objekte angeben, siehe Option <tt>-b</tt> | |||
|- | |||
| | <tt>'''-c '''</tt> | |||
| | 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 | |||
|- | |||
| | <tt>'''--iconv '''</tt> | |||
| | sorgt für eine Konvertierung der Dateinamen zwischen Systemen mit verschiedenen Codepages | |||
* Dieser Parameter kann erforderlich werden, wenn Dateien mit z. B. Umlauten im Namen übertragen werden | |||
|- | |||
| | <tt>'''--stats '''</tt> | |||
| | zeigt einen ausführlicheren Report am Ende einer Übertragung an | |||
|- | |||
| | <tt>'''--size-only '''</tt> | |||
| | 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) | |||
|- | |||
|} | |||
; Experten-Info | |||
Für weitere Optionen und ausführlichere Erklärungen die Manpage oder Hilfe mit <tt>rsync -h</tt> aufrufen | |||
; Achtung | |||
: Vor dem Ausführen von rsync muss man sicher sein, die korrekten Parameter und Verzeichnisse angegeben zu haben | |||
* Fahrlässige Handhabung kann zu Datenverlust führen | |||
=== Option -a === | |||
Aquivalent zu '''-rlptgoD''' und fasst folgende Optionen zusammen | |||
{| class="wikitable options" | |||
|- | |||
| -r || kopiert Unterverzeichnisse | |||
|- | |||
| -l || kopiert symbolische Links | |||
|- | |||
| -p || behält Rechte der Quelldatei bei | |||
|- | |||
| -t || behält Zeiten der Quelldatei bei | |||
|- | |||
| -g || behält Gruppenrechte der Quelldatei bei | |||
|- | |||
| -o || behält Besitzrechte der Quhttps://wiki.foxtom.de/index.php?title=Rsync/TMP&action=edit§ion=2elldatei bei (nur root) | |||
|- | |||
| -D || behält Gerätedateien der Quelldatei bei (nur root) | |||
|} | |||
=== Argumente === | === Argumente === | ||
=== Umgebungsvariablen === | === Umgebungsvariablen === | ||
Version vom 15. März 2025, 22:58 Uhr
rsync - Synchronisation von Verzeichnisbäumen
Beschreibung
rsync - (remote sync) Synchronisation von Verzeichnisbäumen
- 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
- Verzeichnisse Synchronisieren (rsync)
rsync ist ein Programm, um Dateien zwischen lokalen oder über das Netzwerk erreichbaren Pfaden abzugleichen
- Dabei werden zunächst die Größe und die Erstellungszeit der Dateien in Quelle und Ziel verglichen, so dass 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
- Wenn auf Quelle oder Ziel aber per SSH oder über einen speziellen rsync-daemon zugegriffen wird, nutzt rsync zusätzlichen noch einen speziellen Delta-Transfer-Algorithmus, so dass nur die geänderten Teile der Dateien über das Netzwerk transportiert werden müssen
Aufgrund dieser Eigenschaften ist rsync sehr gut geeignet, um Sicherungen 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
Installation
sudo apt install rsync
Aufruf
rsync [OPTIONEN] QUELLE ZIEL
Anstelle des Platzhalters QUELLE gibt man den Ort an aus dem gelesen werden soll und das ZIEL bestimmt den Ort in den rsync zu kopieren hat
- Gibt man nur einen Parameter an, so wird dieser als Ziel interpretiert und es gilt das aktuelle Verzeichnis als Quelle
Optionen
Optionen
Es ist empfehlenswert, die Option -a immer zu benutzen, um alle Rechte und Eigentümer der Quelldatei auf dem Zielmedium zu übernehmen
| Unix | Beschreibung |
|---|---|
| -a | fasst folgende Optionen zusammen |
| -r | kopiert Unterverzeichnisse |
| -l | kopiert symbolische Links |
| -p | behält Rechte der Quelldatei bei |
| -t | behält Zeiten der Quelldatei bei |
| -g | behält Gruppenrechte der Quelldatei bei |
| -o | behält Besitzrechte der Quelldatei bei (nur root) |
| -D | behält Gerätedateien der Quelldatei bei (nur root) |
| Weitere Optionen | |
| Option | Wirkung |
| -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 | z. B. --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=ORDNER1 --exclude=ORDNER2 | schließt ORDNER1 und ORDNER2 von der Sicherung aus (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 | kann man ein Verzeichnis für die gelöschten Objekte angeben, siehe Option -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
|
- Experten-Info
Für weitere Optionen und ausführlichere Erklärungen die Manpage oder Hilfe mit rsync -h aufrufen
- Achtung
- Vor dem Ausführen von rsync muss man sicher sein, die korrekten Parameter und Verzeichnisse angegeben zu haben
- Fahrlässige Handhabung kann zu Datenverlust führen
Option -a
Aquivalent zu -rlptgoD und fasst folgende Optionen zusammen
| -r | kopiert Unterverzeichnisse |
| -l | kopiert symbolische Links |
| -p | behält Rechte der Quelldatei bei |
| -t | behält Zeiten der Quelldatei bei |
| -g | behält Gruppenrechte der Quelldatei bei |
| -o | behält Besitzrechte der Quhttps://wiki.foxtom.de/index.php?title=Rsync/TMP&action=edit§ion=2elldatei bei (nur root) |
| -D | behält Gerätedateien der Quelldatei bei (nur root) |
Argumente
Umgebungsvariablen
Exit-Status
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
- Man-Page
- man rsync
- Info-Page
Links
Projekt
Weblinks
- https://de.wikipedia.org/wiki/Rsync
- https://www.thomas-krenn.com/de/wiki/Daten_mit_rsync_unter_Linux_synchronisieren?xtxsearchselecthit=1
- https://wiki.ubuntuusers.de/rsync/
- Projektseite
- Rsync
- Grsync- grafische Oberfläche
- Dateien abgleichen mit rsync- Artikel aus LinuxUser 04/2006
- Skripte/Backup mit rsync - fertiges Skript für die Datensicherung