Nerdkrams
Datensicherung mit rsync unter Windows

Da Didis RSS-Feed mir stän­dig Berichte über irgend­wel­che ver­qua­sten Datensicherungslösungen auf den Bildschirm schmiert, ein Bericht über das gute Programm rsync, das in nahe­zu allen Belangen die Konkurrenten auf die Plätze zu ver­wei­sen ver­mag, jedoch bis heu­te aus­ge­blie­ben ist, mache ich das jetzt selbst.

rsync soll­te jedem Linuxnutzer bekannt sein; andern­falls sind auch sie natür­lich herz­lich dazu ein­ge­la­den, die­sen Artikel auf­merk­sam zur Kenntnis zu neh­men. Der Unterschied in der Bedienung liegt ledig­lich in den in den Beispielen genann­ten Pfadangaben; /cygdrive/c/ ant­spricht unter Linux etwa /.

Das Programm rsync ist eine Kommandozeilenanwendung für die inkre­men­tel­le oder voll­stän­di­ge Sicherung auf loka­le oder Netzwerkdatenträger. Es beherrscht auch das Kopieren von sym­bo­li­schen Verknüpfungen, ohne ihre Funktionsfähigkeit ein­zu­schrän­ken, und kann Daten unter ande­rem auch über SSH oder eine spe­zi­el­le Client-Server-Konfiguration (dazu - auf Englisch - hier mehr) auf irgend­wo auf der Welt her­um­ste­hen­de Server sichern. Das Hübsche ist zudem: Es lässt sich voll­stän­dig über Batchdateien, Windows-Konsolenskripte also, steu­ern und somit ohne gro­ßen Aufwand zur Zusammenarbeit mit der Windows-Aufgabenverwaltung bewegen.

Standardmäßig arbei­tet rsync inkre­men­tell, fin­det es also im Zielverzeichnis Dateien, die es aus dem Quellverzeichnis kopie­ren soll, so kopiert es nur etwai­ge Unterschiede zwi­schen die­sen Dateien und über­trägt nicht die voll­stän­di­ge Datei erneut.

Der Einfachheit die­ser Anleitung wegen beschrän­ke ich mich hier auf die für Endanwender wohl pri­mär bedeut­sa­me inkre­men­tel­le Sicherung auf ein ande­res Laufwerk, in mei­nem Fall eine exter­ne Festplatte („G:\“).

Zunächst ist es emp­feh­lens­wert, rsync her­un­ter­zu­la­den. Ich nut­ze hier­bei cwr­sync, eine spe­zi­el­le Windows-Version von rsync, die das Cygwin-System nutzt. Aktuell ist der­zeit Version 4.0.5, die Anleitung soll­te aber so auch für künf­ti­ge Versionen funk­tio­nie­ren. Die Installation ist übri­gens por­ta­bel, der Installationspfad ist somit belie­big wählbar.

Nun kann es sicher nicht scha­den, sich ein­mal mit den Optionen von rsync zu befas­sen. Zwar gibt es mitt­ler­wei­le gra­fi­sche Oberflächen für rsync, aber für die Wartung von Konfigurationsskripten und die Automatisierung der Sicherung sind Batchdateien eher zu emp­feh­len, sie­he auch mei­ne klei­ne Einführung in das ExifTool.

Im Installationsordner von cwr­sync liegt bereits eine Datei namens cwrsync.cmd. Diese beinhal­tet bereits alle not­wen­di­gen Optionen und ist, für die Neugierigen unter euch, (auf Englisch) umfas­send doku­men­tiert. Kopiert sie irgend­wo­hin, zum Beispiel auf euren Desktop, und öff­net sie von dort (um das Original jeder­zeit wie­der­her­stel­len zu kön­nen) mit einem Texteditor eurer Wahl. Bei Interesse lest die Kommentare, anson­sten scrollt ganz ans Ende der Datei.

Grundsätzlich sieht ein rsync-Befehl so aus:

rsync [Optionen] [Quelle] [Ziel]

Quelle und Ziel stel­len jeweils Pfadangaben dar und soll­ten, sofern sie Leerzeichen beinhal­ten, mit Anführungsstrichen umschlos­sen wer­den. Da rsync in einer simu­lier­ten Linuxumgebung läuft, muss den Laufwerken aller­dings /cygdrive/ vor­an­ge­stellt wer­den. Möchte man etwa den Ordner C:\Windows sichern, so lau­tet die Pfadangabe /cygdrive/c/Windows.

Die wich­tig­sten Optionen lauten:

  • -r: ver­ar­bei­tet die Quelle rekur­siv, das heißt, kopiert alle Unterverzeichnisse und ent­hal­te­nen Dateien ins Zielverzeichnis
  • -c: erstellt Prüfsummen der über­tra­ge­nen Dateien, um etwai­ge Übertragungsfehler zu erkennen
  • -n: simu­liert den Vorgang (emp­feh­lens­wert zum Feinjustieren der Einstellungen)
  • -u: über­springt Dateien, die im Zielverzeichnis in einer neue­ren Version vorliegen
  • -v: gibt detail­lier­te Informationen über den aktu­el­len Vorgang aus
  • --dele­te: löscht Dateien aus dem Zielverzeichnis, die im Quellverzeichnis nicht mehr vor­han­den sind
  • --exclu­de=…: schließt die Dateien oder Ordner „…“ aus

Eine voll­stän­di­ge Liste aller mög­li­chen Optionen ist auf der eng­lisch­spra­chi­gen man­page zu rsync zu finden.

Zum bes­se­ren Verständnis folgt eine Beispielzeile aus mei­nem eige­nen Backup-Skript. Ich möch­te mei­ne „Eigenen Dateien“ („C:\Users\admin\Documents“) mit Ausnahme des Verzeichnisses „FH“ voll­stän­dig auf mei­ne exter­ne Festplatte sichern. Symbolische Verknüpfungen, wie sie ab Windows Vista fester Bestandteil des Systems gewor­den sind (der Ordner „Programme“ ist etwa eine sym­bo­li­sche Verknüpfung auf „Program Files“), sol­len bei­be­hal­ten blei­ben. Die Zeile sieht so aus:

rsync -urzvp – delete – exclude=/FH – copy-links "/cygdrive/c/Users/admin/Documents/" "/cygdrive/g/backup/Eigene Dateien"

Alle Inhalten der von mir gewünsch­ten Ordner wer­den so rekur­siv in das Backupverzeichnis „Eigene Dateien“ gesi­chert. Was ich im Quellverzeichnis nicht mehr benö­tig­te, wird auch im Zielverzeichnis gelöscht.

Ich emp­feh­le mei­ner hof­fent­lich inter­es­sier­ten Leserschaft, ein­fach mal ein wenig mit rsync her­um­zu­spie­len (nicht die Option -n ver­ges­sen!). Die mei­sten von euch wer­den bald erken­nen, dass es völ­lig über­flüs­sig ist, hart ergau­ner­tes Geld den Herstellern pro­prie­tä­rer Sicherungsprogramme in den Rachen zu werfen.

Eine letz­te Anmerkung: rsync arbei­tet uni­di­rek­tio­nal, das bedeu­tet, dass es nur Dateien von A nach B oder von B nach A kopie­ren, nicht aber zwei Verzeichnisse mit­ein­an­der abglei­chen („syn­chro­ni­sie­ren“) kann. Für die­sen Zweck ist das tech­nisch ähn­li­che uni­son einen Blick wert.

Senfecke:

  1. Ich wünsch­te, ich könn­te Dir eine schmieren…pöh…Elender…aber kriegt die Email-Benachrichtigung nicht auf die Reihe…Amateur…

Comments are closed.

https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif 
mehr...
 

Erlaubte Tags:
<strong> <em> <pre> <code> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <span style=""> <strike>

Datenschutzhinweis: Ihre IP-Adresse wird nicht gespeichert. Details finden Sie hier.