Datenschaufel

Als besonders praktisch erweist sich rsync beim Abgleich großer Datenmengen. Wollen Sie beispielsweise die Daten einer vorliegenden CD oder DVD via Internet mit einer neueren Version des Mediums aktualisieren, müssen Sie dazu nicht das komplette Image vom Server herunterladen. Sie können statt dessen das Transfervolumen begrenzen, indem Sie rsync nur die geänderten Teile der Datei synchronisieren lassen.

Dazu erstellen Sie zunächst ein Image, also ein Abbild der Daten-CD/DVD. Auf der Kommandozeile erledigen Sie das nach dem Mounten des Mediums z. B. mit dem Aufruf:

mkisofs -r -J -o image.iso /pfad/zur_cd

Dabei ersetzen Sie die Angabe /pfad/zur_cd durch den Gerätenamen, der auf Ihrer Distribution zum Einsatz kommt: Also unter Suse Linux durch /media/cdrom oder unter Fedora Core 2 durch /media/cdrecorder. Das neu anzulegende ISO-Image landet in der Datei image.iso.

Anschließend schauen Sie sich auf den Download-Seiten des entsprechenden Projektes nach einem rsync-Mirror um. Um das eigene Image auf den aktuellen Stand zu bringen, setzen Sie rsync mit den Optionen -a (kopiert rekursiv und behält alle Dateieigenschaften bei), -v (für eine ausführliche Darstellung) und --progress (um den Fortschritt des Downloads zu sehen) ein:

$ rsync -av rsync://adresse.zum.server/datei.iso image.iso
receiving file list …
1 file to consider
image.iso
    30097408   1%    1.42MB/s    0:27:51

Beachten Sie, dass rsync während der Arbeit erst ein neues Image im Hintergrund anlegt, bevor es das Original löscht. Dabei handelt es sich um eine versteckte Datei, die Sie mit dem Kommando ls -a aufgespüren:

$ ls -a
.  ..  image.iso  .image.iso.CaOjeZ

Im Klartext heißt das, dass Sie so viel freien Platz auf der Platte benötigen, wie das alte plus das aktualisierte Image zusammen verschlingen. Sind Sie nicht sicher, ob die Speicherkapazität ausreicht, schauen Sie z. B. mit dem Befehl df (englisch "disk free") und dem Parameter -h ("human readable") nach:

$ df -h
Filesystem           Größe Benut  Verf Ben% Eingehängt auf
/dev/hda12            7,6G  6,5G  681M  91% /
/dev/hda7              99M  4,4M   90M   5% /boot
/dev/hda13             79G   55G   21G  73% /home

Die Ausgabe verrät: Auf der Root-Partition sind noch 681 MByte, auf der Boot-Partition nur noch 90 MByte und auf der Home-Partition stattliche 21 GByte verfügbar.

Abgebrochen?

Gerade beim Kopieren großer Dateien ist es ärgerlich, wenn ein mit scp[1] gestarteter Download kurz vor Ende der Übertragung abbricht. Zwar kennt scp keine Funktion zur Wiederaufnahme unterbrochener Datentransfers, mit rsync jedoch lässt sich die unvollständige Datei "reparieren".

Eine interessante Möglichkeit bietet in diesem Zusammenhang der Einsatz der Option --partial: Sie sorgt dafür, dass die schon übertragenen Daten (rsync lagert diese in der erwähnten versteckten Datei) nicht gelöscht werden:

$ rsync -e ssh --partial --progress user@192.168.1.10:film.mpeg .
Password:
film.mpeg
    22543992   3%    5.15MB/s    0:02:14

Der Einsatz von --partial verhindert, dass rsync nach einer Unterbrechung die versteckte Teildatei einfach löscht. Dies bringt jedoch einen Nachteil mit sich: Liegt auf dem Zielrechner bereits eine ältere Version der Datei, die mit rsync aktualisiert werden soll, und bricht die Übertragung nach kurzer Zeit ab, dann wird die Datei auf dem Zielrechner durch den übertragenen Teil ersetzt. Wenn Sie also gerade ein ISO-Image auf den neuesten Stand bringen und mit rsync Download-Volumen sparen wollen, erreichen Sie durch das Überschreiben des Originals genau das Gegenteil.

Mit einem kleinen Trick verhindern Sie einen solchen Verlust: Legen Sie zunächst mit dem Befehl ln image.iso image_orig.iso einen Hardlink an. Dabei handelt es sich nicht etwa um eine Kopie der Datei, sondern lediglich um einen weiteren Namen. Alle Hardlinks ermöglichen gleichberechtigt den Dateizugriff – erst wenn alle gelöscht sind, verschwindet auch die Datei selbst. Für das rsync-Problem bedeutet das: Bricht die Übertragung ab, dann verschwindet nicht mehr das Image selbst. Die partielle Datei wird als image.iso abgelegt, das Original steht als image_orig.iso weiter zur Verfügung, und Sie können selbst entscheiden, mit welcher Version Sie den nächsten Aktualisierungsversuch unternehmen.

Infos

[1] SSH-Artikel: Elisabeth Bauer, "Remote Control", EasyLinux 11/2003, S. 72 ff., http://www.linux-community.de/artikel/4607

LinuxCommunity kaufen

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

Deutschland

Ähnliche Artikel

  • 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.
  • Dateien abgleichen mit Rsync
    Mit Rsync synchronisieren Sie Daten – auf dem lokalen Rechner oder über ein Netzwerk auf entfernte Maschinen. Dank guter Zusammenarbeit mit SSH überträgt das Tool die Daten verschlüsselt und arbeitet auch dann noch recht flott, wenn es an Bandbreite mangelt.
  • 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.
  • 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.
  • The Answer Girl
    Wer hat sie nicht schon mehr als genug gehört, die gutgemeinte Litanei vom Anlegen eines Backups. In der Firma oder an der Uni mag man dieses leidige Thema mit einiger Berechtigung auf die dortigen Systemadministrator(inn)en abwälzen, doch was ist mit dem Datenbestand zu Hause?
Kommentare

Infos zur Publikation

EL 02/2018-04/2018: Distributionen - freie Auswahl

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet 9,80 Euro. Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 33,30 Euro. Details dazu finden Sie im Computec-Shop.

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

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

Stellenmarkt

Aktuelle Fragen

JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 0 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...
sharklinux
Gerd-Peter Behrendt, 18.01.2018 23:58, 2 Antworten
Hallo zusammen, ich habe sharklinux von der DVD Installiert. 2x, jedesmal nach dem Reboot ist di...