Zum Inhalt springen

Rsync: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Linux/Storage/Hardware » Spezial:Anmelden » rsync
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.&nbsp;B.&nbsp; <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.&nbsp;B.&nbsp; 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&section=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
  • 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 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
  • 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 z. B.  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)
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&section=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
  1. man rsync
Info-Page

Links

Projekt
Weblinks
  1. https://de.wikipedia.org/wiki/Rsync
  2. https://www.thomas-krenn.com/de/wiki/Daten_mit_rsync_unter_Linux_synchronisieren?xtxsearchselecthit=1
  3. https://wiki.ubuntuusers.de/rsync/
  4. Projektseite
  5. Rsync
  6. Grsync- grafische Oberfläche
  7. Dateien abgleichen mit rsync- Artikel aus LinuxUser 04/2006
  8. Skripte/Backup mit rsync - fertiges Skript für die Datensicherung