Zusammenarbeit

Rsync arbeitet nicht nur auf dem lokalen Rechner, sondern synchronisiert auch Daten übers Netzwerk. Dazu übergeben Sie im Programmaufruf -e ssh, und die Dateien wandern verschlüsselt über das SSH-Protokoll hin und her. Ersetzen Sie weiterhin Quelle oder Ziel durch Namen oder IP-Adresse des entfernten Rechners. Verwenden Sie dort einen anderen Benutzernamen als auf der eigenen Maschine, stellen Sie den Usernamen voran gefolgt vom Zeichen @: rsync -e ssh Quelle user@zielrechner:ziel/.

Nach dem Doppelpunkt geben Sie entweder einen relativen Pfad zum eigenen Home-Verzeichnis oder einen absoluten Pfad im Dateisystem des entfernten Rechners an. Ein Umgebungsvariable erspart Ihnen die Eingabe des Parameter zum SSH-Verschlüsseln bei jedem Aufruf. Für die Bash lautet der Aufruf:export RSYNC_RSH=ssh

Da dieses jeweils nur für die aktuelle Shell gilt, machen Sie das Verhalten dauerhaft, indem Sie diese Zeile in die Bash-Konfigurationsdatei ~/.bashrc schreiben und diese mit dem folgenden Befehl source ~/.bashrc neu einlesen.

Datenschaufel

Rsync eignet sich ideal zum Übertragen großer Datenmengen. Setzen Sie den Parameter --partial ein und der Transfer bricht ab, setzen Sie das Übertragen der Daten zu einem späteren Zeitpunkt fortsetzen an der gleichen Stelle fort. Verwenden Sie zusätzlich die Option --progress, um den Fortschritt beim Übertragen immer im Blick zu haben:

$ rsync --progress --pa↩rtial debian.iso transpluto:/scr↩atch/debian/
Password:
debian.iso
    22543992   3%    5.15MB/s   ↩
0:02:14

Auf der Gegenseite sehen Sie die partielle Datei zunächst versteckt im Zielverzeichnis. Rufen Sie dort den Befehl ls -a auf, sehen Sie eine Datei nach dem Muster .debian.iso.wtKNr7. Der Punkt am Namensanfang sorgt dasfür, dass Sie normalerweise nicht sichtbar ist, und die willkürliche Endung verhindert ein versehentliches Überschreiben einer ähnlich benannten Datei.

Nach dem Transfer oder bei einem Abbruch, trägt die Datei wieder den Originalnamen. Bei einem eventuellen Abbruch starten Sie den Transfer einfach mit der Option --partial neu. Rsync schaut zunächst nach, wieviele Bytes schon vorliegen und überträgt nur den fehlenden Rest.

Einen Nachteil hat die Option --partial dennoch: Verwenden Sie Rsync, um eine bereits vorhandene Datei zu aktualisieren und der Transfer bricht ab, verschwindet die Datei auf dem Zielrechner und wird durch den übertragenen Teil ersetzt. Sie umgehen dieses Problem, indem Sie zunächst von dem Original einen Hardlink anlegen: ln debian.iso debian_orig.iso. Bricht nun der Transfer ab, verschwindet nicht etwa das ISO-Image. Lediglich die partielle Datei bekommt einen neuen Namen, und das Original ist noch da.

Daten unisono

Ein weiterer Synchronisierungs-Künstler kommt in Form von Unison [1] – ein Tool, dass nicht nur in beide Richtungen abgleicht, sondern darüber hinaus über den Tellerrand des eigenen Betriebssystems hinwegschaut: Das Programm gibt es nicht nur für Linux, sondern auch für Windows-Systeme, Mac OS X und Irix wie ein Blick in den Download-Bereich der Website verrät.

Wie der Artikel unter [2] zeigt, gibt es neben der grafischen Variante auch die Möglichkeit, Unison auf der Kommandozeile einzusetzen. Um zwei Verzeichnisse auf einem lokalen Rechner abzugleichen, tippen Sie beispielsweise: unison -ui text ordner1 ordner2.

Unterscheidet sich der Inhalt der beiden Ordner, weist Unison darauf hin, und zeigt an, in welche Richtung der Abgleich stattfinden wird und ob es sich um eine neue oder geänderte Datei handelt:

ordner1        ordner2
new file —->            kap01.↩
tex  [f]
<—-  changed            kap02.↩
tex  [f]

Um den Vorschlag anzunehmen, drücken Sie einfach [F]. Gibt es einen unlösbaren Konflikt, etwa weil sich beide Versionen seit dem letzten Programmaufruf verändert haben, zeigt Unison über <-?-> an, dass es von Ihnen eine Entscheidung erwartet. Geben Sie dazu beispielsweise < oder > ein; alternativ überspringen Sie den Schritt dieses eine Mal über Eingabe von [Umschalt-7] (/) oder auch in zukünftigen Sitzungen über [Umschalt-I].

Eine Übersicht aller verfügbaren Kommandos erhalten Sie, wenn Sie [Umschalt-ß] (?) tippen. Ganz zum Schluss fragt das Programm zur Sicherheit noch einmal nach, ob Sie die Änderungen wirklich durchführen wollen; geben Sie [Y] ein, um die Synchronisierung anzustoßen.

Proceed with propagating updates? [] y
Propagating updates
UNISON started propagating changes at 20:20:34 on 28 Feb 2006
[BGN] Copying einl.tex
  from /home/huhnix/ordner1
  to /home/huhnix/ordner2
…
Saving synchronizer state
Synchronization complete

Ebenso einfach gestaltet sich die Kontaktaufnahme zu einem entfernten Rechner. Stellen Sie zunächst sicher, dass auf beiden Maschinen dieselbe Unison-Version installiert ist und tippen dann unison -ui text ordner1 ssh://user@zielrechner/ordner1.

Die Syntax sieht etwas anders als bei Rsync aus: Anstelle des Doppelpunkts steht hier ein Schrägstrich – um einen absoluten Pfad anzusprechen, geben Sie einen weiteren Schrägstrich ein: unison -ui text ordner1 ssh://user@zielrechner//scratch/ordner1.

Glossar

Symlinks

Ein Symbolischer Llink (oder Softlink) zeigt als Verweis auf eine andere Datei. Anwendungsprogramme behandeln diesen genau wie die Datei selbst. Löschen Sie die Datei, auf die ein Symlink verweist, zeigt der Link ins Leere. Symlinks erzeugt das Kommando ln -s Quelle Ziel.

Device-Dateien

Der Zugriff auf Geräte findet unter Linux durch entsprechende Dateien statt, die typischerweise im Verzeichnis /dev liegen. Hier finden sich Character und Block Devices: Auf Character Devices (wie zum Beispiel Terminals oder die serielle Schnittstelle) greifen Sie sequentiell, also Zeichen für Zeichen, zu. Von den Block Devices (Festplatten, Disketten oder DVD-Laufwerke) liest das System die Daten immer in Gruppen.

Wildcards

Wildcards ersetzen Teile von Zeichenketten. Ein Fragezeichen ? in einer Zeichenkette lässt nur einen Buchstaben dieser Zeichenkette unbestimmt. Beispiel: h?llo. Auf dieses Muster passen hallo, hGllo oder h7llo. Ein Sternchen * steht für keins oder beliebig viele verschiedene Zeichen. Beispiel: G*ss. Auf dieses Muster passt Guss, Genuss oder Gss.

Hardlink

Im Gegensatz zu einem symbolischen Link handelt es sich um einen Verweis auf den I-Node einer Datei, also einfach einen weiteren Eintrag in einem Dateiverzeichnis. Linux ordnet dem Verweis nur einen Namen zu und legt nicht etwa physikalisch eine neue Datei an. Alle Hardlinks sind übrigens gleichberechtigt für den Zugriff auf die Datei – der Inhalt verschwindet erst, wenn alle Hardlinks gelöscht sind.

Infos

[1] Unison-Homepage: http://www.cis.upenn.edu/~bcpierce/unison/

[2] Unison-Artikel: Daniel Rohark, "Datentandem – Daten synchronisieren mit Unison", LinuxUser 02/2004, S. 60 ff., http://www.linux-user.de/ausgabe/2004/02/060-unison/

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Synchron schalten
    Mit Rsync synchronisieren Sie Daten entweder auf einem lokalen Rechner oder über ein Netzwerk. Vor dem eigentlichen Abgleich überprüft das Programm, welche Unterschiede es zwischen Quell- und Zieldateien gibt, und überträgt nur die Änderungen.
  • Hüben wie drüben
    Mit "rsync" synchronisieren Sie Dateien auf einem lokalen Rechner oder über ein Netzwerk. Beim Abgleich überprüft das Programm, welche Unterschiede es zwischen Quell- und Zieldateien gibt, und überträgt nur die Änderungen.
  • rsync
    Mit dem Programm rsync [1] lassen sich lokal oder remote Dateien und Verzeichnisse synchronisieren. Dazu wird das "rsync remote-update protocol" benutzt, d. h. es wird zunächst auf Unterschiede zwischen Quelle und Ziel geprüft, bevor die eigentliche Übertragung beginnt – auf diese Weise wird das Transfervolumen minimiert.
  • Datenbestände per Mausklick synchronisieren mit Grsync
    Was brauchen Sie, um eine Millionen Dateien zuverlässig zu synchronisieren? Einen Linux-Rechner und Grsync.
  • Daten synchronisieren mit Unison
    Wenn Sie Datenbestände auf verschiedenen Rechnern bearbeiten, stellt sich schneller als gedacht ein unüberschaubares Versionswirrwarr ein. Unison hilft, Dateien und Verzeichnisse "unisono" zu halten.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 1 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...