rsync

Aus Mikiwiki
Version vom 26. Januar 2009, 00:46 Uhr von Michi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der Shell-Befehl <b>rsync</b> bringt den Datenbestand auf einem Zielrechner auf den Stand des Quellrechners. Dabei werden nicht nur Dateieigenschaften wie Rechte od...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Shell-Befehl rsync bringt den Datenbestand auf einem Zielrechner auf den Stand des Quellrechners. Dabei werden nicht nur Dateieigenschaften wie Rechte oder Eigentümer erhalten, es werden auch symbolische Links berücksichtigt und es werden bei Bedarf nur nicht bereits vorhandene Teile übertragen. Zusätzlich arbeitet das Programm mit SSH zusammen.

Beim Abgleichen von Daten auf entfernten Rechnern muss auf beiden Rechnern "rsync" installiert sein, und das möglichst in der identischen Version.

Grsync ist eine grafische Oberfläche für rsync, bietet allerdings wesentlich weniger Möglichkeiten.

Syntax

"rsync" arbeitet grundsätzlich nur in eine Richtung. Nach dem Abgleich enthält das Ziel die gleichen Dateien wie die Quelle.

$ rsync [Optionen] quellverzeichnis zielverzeichnis
$ rsync -e ssh quellverzeichnis benutzer@zielrechner:zielverzeichnis/

Optionen

Option Beschreibung
-a Zusammenfassung der Parameter -Dgloprt (nur als Benutzer "root")
-D [device] Erhalten der Gerätedateieigenschaften (nur als Benutzer "root")
-e ssh Verschlüsselung mit dem Protokoll SSH. Um diesen Parameter nicht jedesmal mit angeben zu müssen kann in der Bash stattdessen die Variable "RSYNC_RSH=ssh" in die Datei ".bashrc" geschrieben werden.
--exclude= Gezieltes Ausklammern von Dateien vom Synchronisieren
--exclude-from=file Gezieltes Ausklammern von Dateien vom Synchronisieren. Die auszuschliessenden Dateien sin dabei zeilenweise in der Datei "file" abgelegt.
-g Erhalten der Gruppenmitgliedschaft
-l [link] Verweise auf andere Dateien werden mit übertragen
-L Verweise werden aufgelöst - anstatt der symbolischen Links werden die Links als normale Dateien ins Zielverzeichnis geschrieben.
-n Testlauf
-o [owner] Erhalten des Dateieigentümers (nur als Benutzer "root")
-p Erhalten der richtigen Rechte
--partial Falls die Datenübertragung abbricht, wird die Übertragung später an der selben Stelle fortgesetzt.
--progress Fortschrittsanzeige
-r Unterverzeichnisse werden rekursiv übertragen
-t [timestamp] Erhalten des Zeitstempels
--version Anzeige der Version von Rsync
-z Komprimieren der übertragenen Daten

Verwendung

Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Unterverzeichnisse, Punktdateien und symbolische links würden im konkreten Fall übergangen.

$ rsync -n quelle/* ziel/

Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse (r steht für rekursiv) dagegen eingeschlossen.

$ rsync -nr quelle/* ziel/

Testlauf: rsync zeigt an, was es im Ernstfall tun würde. Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse dagegen eingeschlossen. Ausserdem würden Eigentümer, Rechte und Zeitstempel erhalten.

$ rsync -an quelle/* ziel/

Das Verzeichnis "quelle/unterverzeichnis" samt seinem Inhalt wird ins Verzeichnis "ziel" kopiert.

$ rsync -av quelle/unterverzeichnis ziel

Nur der Inhalt des Verzeichnises "quelle/unterverzeichnis" wird ins Verzeichnis "ziel" kopiert.

$ rsync -an quelle/unterverzeichnis/ ziel

Punktdateien und symbolische links würden im konkreten Fall übergangen, Unterverzeichnisse dagegen eingeschlossen. Ausserdem würden Eigentümer, Rechte und Zeitstempel erhalten. Alle Dateien, die auf ".bak" oder mit einer Tilde enden sind vom Abgleich ausgeschlossen.

$ rsync -a --exclude=*.bak --exclude=*~ quelle/* ziel/

Sicherung des Verzeichnisses "/home/mik" des Rechners "notebook" (10.0.5.1) im Verzeichnis "/backup" des Rechners "meister" (10.0.5.2). Dabei wird Komprimierung verwendet.

notebook: # rsync -abvz -e ssh --backup-dir=/backup/notebook-mik-2 /home/mik/ root@10.0.5.2:/backup/notebook-mik

Zurücksicherung der gesicherten Daten. Dabei wird Komprimierung verwendet.

notebook: # rsync -avz -e ssh root@10.0.5.2:/backup/notebook-mik /home/mik

Weblinks

Vorlage:dewi