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.
  • 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.
  • Datenbestände per Mausklick synchronisieren mit Grsync
    Was brauchen Sie, um eine Millionen Dateien zuverlässig zu synchronisieren? Einen Linux-Rechner und Grsync.
  • Datensicherung mit Shell-Kommandos
    Für die Datensicherung können Sie komfortable Backupprogramme verwenden – doch die müssen Sie erst konfigurieren. Wenn es schnell gehen soll, reicht ein einziger Befehl in der Shell.
Kommentare

Infos zur Publikation

LU 10/2017: Daten retten & sichern

Digitale Ausgabe: Preis € 8,50
(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

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...