Zum Inhalt springen

Rsync: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  sftp » Datenstruktur » rpm » PuTTY/puttygen » rsync
K Textersetzung - „line>“ durch „line copy>“
 
(97 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 2: Zeile 2:


== Beschreibung ==
== Beschreibung ==
'''rsync''' - ('''r'''emote '''sync''') Synchronisation von Verzeichnisbäumen
; 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


; Verzeichnisse Synchronisieren (rsync)
; Backup
'''rsync''' ist ein Programm, um Dateien zwischen lokalen oder über das Netzwerk erreichbaren Pfaden abzugleichen
Aufgrund dieser Eigenschaften ist rsync geeignet, um Datensicherungen durchzuführen
* 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
* Für regelmäßige automatisierte Sicherungen eignen sich Programme wie [[rsnapshot]] oder [[Back In Time]], die ihrerseits wieder rsync verwenden
* Sind Quelle und Ziel lokale Pfade, werden die betroffenen Dateien normal kopiert
* Wenn man allerdings Verzeichnisse zwischen zwei Systemen wie Laptop und Desktop-Rechner synchronisieren möchte, sind Programme wie [[Unison]] besser geeignet
* 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
; Achtung
* Für regelmäßige automatisierte Sicherungen eignen sich Programme wie rsnapshot oder Back In Time, die ihrerseits wieder rsync verwenden
<blockquote>
* Wenn man allerdings Verzeichnisse zwischen zwei Systemen wie Laptop und Desktop-Rechner synchronisieren möchte, sind Programme wie Unison besser geeignet
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 ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo apt install rsync
sudo apt install rsync
</syntaxhighlight>
</syntaxhighlight>


== Aufruf ==
== Aufruf ==
<syntaxhighlight lang="bash" highlight="1" line>
<syntaxhighlight lang="bash" highlight="1" line copy>
rsync [OPTIONEN] QUELLE ZIEL
rsync [OPTIONEN] QUELLE ZIEL
</syntaxhighlight>
</syntaxhighlight>


Anstelle des Platzhalters <tt>QUELLE</tt> gibt man den Ort an aus dem gelesen werden soll und das <tt>ZIEL</tt> bestimmt den Ort in den rsync zu kopieren hat
=== Optionen ===
* Gibt man nur einen Parameter an, so wird dieser als Ziel interpretiert und es gilt das aktuelle Verzeichnis als Quelle
{| 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
|-
| -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"
! 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)
|}


=== Optionen ===
=== Argumente ===
=== Argumente ===
=== Umgebungsvariablen ===
<syntaxhighlight lang="bash" highlight="1" line copy>
=== Exit-Status ===
rsync -a /home/user/ /data/backup
</syntaxhighlight>


== Konfiguration ==
Erzeugt Verzeichnis user/ in /data/backup
=== Dateien ===
* 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 47: Zeile 132:
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
==== Dokumentation ====


; Man-Page
; Grafische Benutzeroberflächen
# man rsync
{| class="wikitable options"
|-
! Programm !! Beschreibung
|-
| [[Grsync]] || Grafische Benutzeroberfläche für rsync
|-
| [[Unison]] || Grafische Oberfläche, erlaubt den Abgleich in beide Richtungen
|}


;Info-Page
=== Dokumentation ===
; Man-Page  
# [https://manpages.debian.org/stable/rsync/rsync.1.en.html rsync(1)]


==== Links ====
=== Links ===
===== Projekt =====
==== Projekt ====
===== Weblinks =====
# https://rsync.samba.org
 
==== Weblinks ====
# https://de.wikipedia.org/wiki/Rsync
# 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/
# [http://rsync.samba.org/ Projektseite]
# [http://de.wikipedia.org/wiki/Rsync Rsync]
# [http://www.opbyte.it/grsync/ Grsync]- grafische Oberfläche
# [http://www.linux-user.de/ausgabe/2006/04/090-rsync/ Dateien abgleichen mit rsync]- Artikel aus LinuxUser 04/2006
# [http://wiki.ubuntuusers.de/Skripte/Backup_mit_RSYNC Skripte/Backup mit rsync] - fertiges Skript für die Datensicherung


{{SORTIERUNG:rsync}}
{{SORTIERUNG:rsync}}
{{DISPLAYTITLE:rsync}}
{{DISPLAYTITLE:rsync}}


[[Kategorie:Linux/Befehl]]
 
[[Kategorie:Linux/Backup]]
[[Kategorie:Rsync]]
[[Kategorie:Linux/Datei/Verwaltung]]
 
[[Kategorie:Netzwerk/Befehl]]


</noinclude>
</noinclude>

Aktuelle Version vom 11. Mai 2025, 13:44 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
  • 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

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
  1. rsync(1)

Links

Projekt

  1. https://rsync.samba.org

Weblinks

  1. https://de.wikipedia.org/wiki/Rsync