Nerdkrams
Datensicherung mit rsync unter Windows

Da Didis RSS-Feed mir ständig Berichte über irgendwelche verquas­ten Daten­sicherungslö­sun­gen auf den Bild­schirm schmiert, ein Bericht über das gute Pro­gramm rsync, das in nahezu allen Belan­gen die Konkur­renten auf die Plätze zu ver­weisen ver­mag, jedoch bis heute aus­ge­blieben ist, mache ich das jet­zt selb­st.

rsync sollte jedem Lin­uxnutzer bekan­nt sein; andern­falls sind auch sie natür­lich her­zlich dazu ein­ge­laden, diesen Artikel aufmerk­sam zur Ken­nt­nis zu nehmen. Der Unter­schied in der Bedi­enung liegt lediglich in den in den Beispie­len genan­nten Pfadangaben; /cygdrive/c/ antspricht unter Lin­ux etwa /.

Das Pro­gramm rsync ist eine Kom­man­dozeile­nan­wen­dung für die inkre­mentelle oder voll­ständi­ge Sicherung auf lokale oder Net­zw­erk­da­ten­träger. Es beherrscht auch das Kopieren von sym­bol­is­chen Verknüp­fun­gen, ohne ihre Funk­tions­fähigkeit einzuschränken, und kann Dat­en unter anderem auch über SSH oder eine spezielle Client-Serv­er-Kon­fig­u­ra­tion (dazu — auf Englisch — hier mehr) auf irgend­wo auf der Welt herum­ste­hende Serv­er sich­ern. Das Hüb­sche ist zudem: Es lässt sich voll­ständig über Batch­dateien, Win­dows-Kon­solen­skripte also, steuern und somit ohne großen Aufwand zur Zusam­me­nar­beit mit der Win­dows-Auf­gaben­ver­wal­tung bewe­gen.

Stan­dard­mäßig arbeit­et rsync inkre­mentell, find­et es also im Zielverze­ich­nis Dateien, die es aus dem Quel­lverze­ich­nis kopieren soll, so kopiert es nur etwaige Unter­schiede zwis­chen diesen Dateien und überträgt nicht die voll­ständi­ge Datei erneut.

Der Ein­fach­heit dieser Anleitung wegen beschränke ich mich hier auf die für Endan­wen­der wohl primär bedeut­same inkre­mentelle Sicherung auf ein anderes Laufw­erk, in meinem Fall eine externe Fest­plat­te (“G:\”).

Zunächst ist es empfehlenswert, rsync herun­terzu­laden. Ich nutze hier­bei cwr­sync, eine spezielle Win­dows-Ver­sion von rsync, die das Cyg­win-Sys­tem nutzt. Aktuell ist derzeit Ver­sion 4.0.5, die Anleitung sollte aber so auch für kün­ftige Ver­sio­nen funk­tion­ieren. Die Instal­la­tion ist übri­gens porta­bel, der Instal­la­tion­sp­fad ist somit beliebig wählbar.

Nun kann es sich­er nicht schaden, sich ein­mal mit den Optio­nen von rsync zu befassen. Zwar gibt es mit­tler­weile grafis­che Ober­flächen für rsync, aber für die Wartung von Kon­fig­u­ra­tionsskripten und die Automa­tisierung der Sicherung sind Batch­dateien eher zu empfehlen, siehe auch meine kleine Ein­führung in das ExifTool.

Im Instal­la­tion­sor­d­ner von cwr­sync liegt bere­its eine Datei namens cwrsync.cmd. Diese bein­hal­tet bere­its alle notwendi­gen Optio­nen und ist, für die Neugieri­gen unter euch, (auf Englisch) umfassend doku­men­tiert. Kopiert sie irgend­wohin, zum Beispiel auf euren Desk­top, und öffnet sie von dort (um das Orig­i­nal jed­erzeit wieder­her­stellen zu kön­nen) mit einem Texte­d­i­tor eur­er Wahl. Bei Inter­esse lest die Kom­mentare, anson­sten scrollt ganz ans Ende der Datei.

Grund­sät­zlich sieht ein rsync-Befehl so aus:

rsync [Optionen] [Quelle] [Ziel]

Quelle und Ziel stellen jew­eils Pfadangaben dar und soll­ten, sofern sie Leerze­ichen bein­hal­ten, mit Anführungsstrichen umschlossen wer­den. Da rsync in ein­er simulierten Lin­ux­u­mge­bung läuft, muss den Laufw­erken allerd­ings /cygdrive/ vor­angestellt wer­den. Möchte man etwa den Ord­ner C:\Windows sich­ern, so lautet die Pfadangabe /cygdrive/c/Windows.

Die wichtig­sten Optio­nen laut­en:

  • -r: ver­ar­beit­et die Quelle rekur­siv, das heißt, kopiert alle Unter­verze­ich­nisse und enthal­te­nen Dateien ins Zielverze­ich­nis
  • -c: erstellt Prüf­sum­men der über­tra­ge­nen Dateien, um etwaige Über­tra­gungs­fehler zu erken­nen
  • -n: simuliert den Vor­gang (empfehlenswert zum Fein­justieren der Ein­stel­lun­gen)
  • -u: über­springt Dateien, die im Zielverze­ich­nis in ein­er neueren Ver­sion vor­liegen
  • -v: gibt detail­lierte Infor­ma­tio­nen über den aktuellen Vor­gang aus
  • –delete: löscht Dateien aus dem Zielverze­ich­nis, die im Quel­lverze­ich­nis nicht mehr vorhan­den sind
  • –exclude=…: schließt die Dateien oder Ord­ner “…” aus

Eine voll­ständi­ge Liste aller möglichen Optio­nen ist auf der englis­chsprachi­gen man­page zu rsync zu find­en.

Zum besseren Ver­ständ­nis fol­gt eine Beispielzeile aus meinem eige­nen Back­up-Skript. Ich möchte meine “Eige­nen Dateien” (“C:\Users\admin\Documents”) mit Aus­nahme des Verze­ich­niss­es “FH” voll­ständig auf meine externe Fest­plat­te sich­ern. Sym­bol­is­che Verknüp­fun­gen, wie sie ab Win­dows Vista fes­ter Bestandteil des Sys­tems gewor­den sind (der Ord­ner “Pro­gramme” ist etwa eine sym­bol­is­che Verknüp­fung auf “Pro­gram Files”), sollen beibehal­ten bleiben. Die Zeile sieht so aus:

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

Alle Inhal­ten der von mir gewün­scht­en Ord­ner wer­den so rekur­siv in das Back­upverze­ich­nis “Eigene Dateien” gesichert. Was ich im Quel­lverze­ich­nis nicht mehr benötigte, wird auch im Zielverze­ich­nis gelöscht.

Ich empfehle mein­er hof­fentlich inter­essierten Leser­schaft, ein­fach mal ein wenig mit rsync herumzus­pie­len (nicht die Option -n vergessen!). Die meis­ten von euch wer­den bald erken­nen, dass es völ­lig über­flüs­sig ist, hart ergaunertes Geld den Her­stellern pro­pri­etär­er Sicherung­spro­gramme in den Rachen zu wer­fen.

Eine let­zte Anmerkung: rsync arbeit­et uni­di­rek­tion­al, das bedeutet, dass es nur Dateien von A nach B oder von B nach A kopieren, nicht aber zwei Verze­ich­nisse miteinan­der abgle­ichen (“syn­chro­nisieren”) kann. Für diesen Zweck ist das tech­nisch ähn­liche uni­son einen Blick wert.

Senfecke:

  1. Ich wün­schte, ich kön­nte Dir eine schmieren…pöh…Elender…aber kriegt die Email-Benachrich­ti­gung 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  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/icon_mad.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_arrow2.gif 
mehr …
 

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

Datenschutzhinweis: Deine IP-Adresse wird nicht gespeichert. Details findest du hier.