{"id":3078,"date":"2010-09-18T19:40:02","date_gmt":"2010-09-18T17:40:02","guid":{"rendered":"http:\/\/tuxproject.de\/blog\/?p=3078"},"modified":"2013-08-14T15:53:17","modified_gmt":"2013-08-14T13:53:17","slug":"datensicherung-mit-rsync-unter-windows","status":"publish","type":"post","link":"https:\/\/tuxproject.de\/blog\/2010\/09\/datensicherung-mit-rsync-unter-windows\/","title":{"rendered":"Datensicherung mit rsync unter Windows"},"content":{"rendered":"<p>Da <a href=\"http:\/\/dietmarjanowski.bplaced.net\/wordpress\/?p=4529\">Didis<\/a> RSS-Feed mir st\u00e4ndig Berichte \u00fcber irgendwelche verquas\u00adten Daten\u00adsicherungsl\u00f6\u00adsun\u00adgen auf den Bild\u00adschirm schmiert, ein Bericht \u00fcber das gute Pro\u00adgramm <a href=\"http:\/\/de.wikipedia.org\/wiki\/rsync\">rsync<\/a>, das in nahezu allen Belan\u00adgen die Konkur\u00adrenten auf die Pl\u00e4tze zu ver\u00adweisen ver\u00admag, jedoch bis heute aus\u00adge\u00adblieben ist, mache ich das jet\u00adzt selb\u00adst.<\/p>\n<p>rsync sollte jedem Lin\u00aduxnutzer bekan\u00adnt sein; andern\u00adfalls sind auch sie nat\u00fcr\u00adlich her\u00adzlich dazu ein\u00adge\u00adladen, diesen Artikel aufmerk\u00adsam zur Ken\u00adnt\u00adnis zu nehmen. Der Unter\u00adschied in der Bedi\u00adenung liegt lediglich in den in den Beispie\u00adlen genan\u00adnten Pfadangaben; <tt>\/cygdrive\/c\/<\/tt> antspricht unter Lin\u00adux etwa <tt>\/<\/tt>.<\/p>\n<p>Das Pro\u00adgramm rsync ist eine Kom\u00adman\u00addozeile\u00adnan\u00adwen\u00addung f\u00fcr die inkre\u00admentelle oder voll\u00adst\u00e4ndi\u00adge Sicherung auf lokale oder Net\u00adzw\u00aderk\u00adda\u00adten\u00adtr\u00e4ger. Es <a href=\"http:\/\/rsync.samba.org\/features.html\">beherrscht<\/a> auch das Kopieren von sym\u00adbol\u00adis\u00adchen Verkn\u00fcp\u00adfun\u00adgen, ohne ihre Funk\u00adtions\u00adf\u00e4higkeit einzuschr\u00e4nken, und kann Dat\u00aden unter anderem auch \u00fcber SSH oder eine spezielle Client-Serv\u00ader-Kon\u00adfig\u00adu\u00adra\u00adtion (dazu \u2014 auf Englisch \u2014 <a href=\"http:\/\/everythinglinux.org\/rsync\/\">hier<\/a> mehr) auf irgend\u00adwo auf der Welt herum\u00adste\u00adhende Serv\u00ader sich\u00adern. Das H\u00fcb\u00adsche ist zudem: Es l\u00e4sst sich voll\u00adst\u00e4ndig \u00fcber Batch\u00addateien, Win\u00addows-Kon\u00adsolen\u00adskripte also, steuern und somit ohne gro\u00dfen Aufwand zur Zusam\u00adme\u00adnar\u00adbeit mit der Win\u00addows-Auf\u00adgaben\u00adver\u00adwal\u00adtung bewe\u00adgen.<\/p>\n<p>Stan\u00addard\u00adm\u00e4\u00dfig arbeit\u00adet rsync inkre\u00admentell, find\u00adet es also im Zielverze\u00adich\u00adnis Dateien, die es aus dem Quel\u00adlverze\u00adich\u00adnis kopieren soll, so kopiert es nur etwaige Unter\u00adschiede zwis\u00adchen diesen Dateien und \u00fcbertr\u00e4gt nicht die voll\u00adst\u00e4ndi\u00adge Datei erneut.<\/p>\n<p>Der Ein\u00adfach\u00adheit dieser Anleitung wegen beschr\u00e4nke ich mich hier auf die f\u00fcr Endan\u00adwen\u00adder wohl prim\u00e4r bedeut\u00adsame inkre\u00admentelle Sicherung auf ein anderes Laufw\u00aderk, in meinem Fall eine externe Fest\u00adplat\u00adte (\u201cG:\\\u201d).<\/p>\n<p>Zun\u00e4chst ist es empfehlenswert, rsync herun\u00adterzu\u00adladen. Ich nutze hier\u00adbei <a href=\"http:\/\/www.itefix.no\/i2\/node\/10650\">cwr\u00adsync<\/a>, eine spezielle Win\u00addows-Ver\u00adsion von rsync, die das <a href=\"http:\/\/www.cygwin.com\">Cyg\u00adwin<\/a>-Sys\u00adtem nutzt. Aktuell ist derzeit <a href=\"http:\/\/sourceforge.net\/projects\/sereds\/files\/cwRsync\/4.0.5\/cwRsync_4.0.5_Installer.zip\/download\">Ver\u00adsion 4.0.5<\/a>, die Anleitung sollte aber so auch f\u00fcr k\u00fcn\u00adftige Ver\u00adsio\u00adnen funk\u00adtion\u00adieren. Die Instal\u00adla\u00adtion ist \u00fcbri\u00adgens porta\u00adbel, der Instal\u00adla\u00adtion\u00adsp\u00adfad ist somit beliebig w\u00e4hlbar.<\/p>\n<p>Nun kann es sich\u00ader nicht schaden, sich ein\u00admal mit den <a href=\"http:\/\/wiki.ubuntuusers.de\/rsync#Optionen\">Optio\u00adnen<\/a> von rsync zu befassen. Zwar gibt es mit\u00adtler\u00adweile grafis\u00adche Ober\u00adfl\u00e4chen f\u00fcr rsync, aber f\u00fcr die Wartung von Kon\u00adfig\u00adu\u00adra\u00adtionsskripten und die Automa\u00adtisierung der Sicherung sind Batch\u00addateien eher zu empfehlen, siehe auch meine <a href=\"https:\/\/tuxproject.de\/blog\/?p=2735\">kleine Ein\u00adf\u00fchrung<\/a> in das ExifTool.<\/p>\n<p>Im Instal\u00adla\u00adtion\u00adsor\u00add\u00adner von cwr\u00adsync liegt bere\u00adits eine Datei namens <tt>cwrsync.cmd<\/tt>. Diese bein\u00adhal\u00adtet bere\u00adits alle notwendi\u00adgen Optio\u00adnen und ist, f\u00fcr die Neugieri\u00adgen unter euch, (auf Englisch) umfassend doku\u00admen\u00adtiert. Kopiert sie irgend\u00adwohin, zum Beispiel auf euren Desk\u00adtop, und \u00f6ffnet sie von dort (um das Orig\u00adi\u00adnal jed\u00aderzeit wieder\u00adher\u00adstellen zu k\u00f6n\u00adnen) mit einem Texte\u00add\u00adi\u00adtor <a href=\"https:\/\/tuxproject.de\/blog\/2009\/12\/vis-vim-vi-2\/\" title=\"vis, Vim, vi\">eur\u00ader Wahl<\/a>. Bei Inter\u00adesse lest die Kom\u00admentare, anson\u00adsten scrollt ganz ans Ende der Datei.<\/p>\n<p>Grund\u00ads\u00e4t\u00adzlich sieht ein rsync-Befehl so aus:<\/p>\n<pre>rsync [Optionen] [Quelle] [Ziel]<\/pre>\n<p>Quelle und Ziel stellen jew\u00adeils Pfadangaben dar und soll\u00adten, sofern sie Leerze\u00adichen bein\u00adhal\u00adten, mit Anf\u00fchrungsstrichen umschlossen wer\u00adden. Da rsync in ein\u00ader simulierten Lin\u00adux\u00adu\u00admge\u00adbung l\u00e4uft, muss den Laufw\u00aderken allerd\u00adings <tt>\/cygdrive\/<\/tt> vor\u00adangestellt wer\u00adden. M\u00f6chte man etwa den Ord\u00adner <tt>C:\\Windows<\/tt> sich\u00adern, so lautet die Pfadangabe <tt>\/cygdrive\/c\/Windows<\/tt>.<\/p>\n<p>Die wichtig\u00adsten Optio\u00adnen laut\u00aden:<\/p>\n<ul>\n<li><tt>-r<\/tt>: ver\u00adar\u00adbeit\u00adet die Quelle rekur\u00adsiv, das hei\u00dft, kopiert alle Unter\u00adverze\u00adich\u00adnisse und enthal\u00adte\u00adnen Dateien ins Zielverze\u00adich\u00adnis<\/li>\n<li><tt>-c<\/tt>: erstellt Pr\u00fcf\u00adsum\u00admen der \u00fcber\u00adtra\u00adge\u00adnen Dateien, um etwaige \u00dcber\u00adtra\u00adgungs\u00adfehler zu erken\u00adnen<\/li>\n<li><tt>-n<\/tt>: simuliert den Vor\u00adgang (empfehlenswert zum Fein\u00adjustieren der Ein\u00adstel\u00adlun\u00adgen)<\/li>\n<li><tt>-u<\/tt>: \u00fcber\u00adspringt Dateien, die im Zielverze\u00adich\u00adnis in ein\u00ader neueren Ver\u00adsion vor\u00adliegen<\/li>\n<li><tt>-v<\/tt>: gibt detail\u00adlierte Infor\u00adma\u00adtio\u00adnen \u00fcber den aktuellen Vor\u00adgang aus<\/li>\n<li><tt>\u2013delete<\/tt>: l\u00f6scht Dateien aus dem Zielverze\u00adich\u00adnis, die im Quel\u00adlverze\u00adich\u00adnis nicht mehr vorhan\u00adden sind<\/li>\n<li><tt>\u2013exclude=\u2026<\/tt>: schlie\u00dft die Dateien oder Ord\u00adner \u201c\u2026\u201d aus<\/li>\n<\/ul>\n<p>Eine voll\u00adst\u00e4ndi\u00adge Liste aller m\u00f6glichen Optio\u00adnen ist auf der englis\u00adchsprachi\u00adgen <a href=\"http:\/\/www.manpagez.com\/man\/1\/rsync\/\">man\u00adpage<\/a> zu rsync zu find\u00aden.<\/p>\n<p>Zum besseren Ver\u00adst\u00e4nd\u00adnis fol\u00adgt eine Beispielzeile aus meinem eige\u00adnen Back\u00adup-Skript. Ich m\u00f6chte meine \u201cEige\u00adnen Dateien\u201d (\u201cC:\\Users\\admin\\Documents\u201d) mit Aus\u00adnahme des Verze\u00adich\u00adniss\u00ades \u201cFH\u201d voll\u00adst\u00e4ndig auf meine externe Fest\u00adplat\u00adte sich\u00adern. Sym\u00adbol\u00adis\u00adche Verkn\u00fcp\u00adfun\u00adgen, wie sie ab Win\u00addows Vista fes\u00adter Bestandteil des Sys\u00adtems gewor\u00adden sind (der Ord\u00adner \u201cPro\u00adgramme\u201d ist etwa eine sym\u00adbol\u00adis\u00adche Verkn\u00fcp\u00adfung auf \u201cPro\u00adgram Files\u201d), sollen beibehal\u00adten bleiben. Die Zeile sieht so aus:<\/p>\n<pre>rsync -urzvp --delete --exclude=\/FH --copy-links \"\/cygdrive\/c\/Users\/admin\/Documents\/\" \"\/cygdrive\/g\/backup\/Eigene Dateien\"<\/pre>\n<p>Alle Inhal\u00adten der von mir gew\u00fcn\u00adscht\u00aden Ord\u00adner wer\u00adden so rekur\u00adsiv in das Back\u00adupverze\u00adich\u00adnis \u201cEigene Dateien\u201d gesichert. Was ich im Quel\u00adlverze\u00adich\u00adnis nicht mehr ben\u00f6tigte, wird auch im Zielverze\u00adich\u00adnis gel\u00f6scht.<\/p>\n<p>Ich empfehle mein\u00ader hof\u00adfentlich inter\u00adessierten Leser\u00adschaft, ein\u00adfach mal ein wenig mit rsync herumzus\u00adpie\u00adlen (nicht die Option <tt>-n<\/tt> vergessen!). Die meis\u00adten von euch wer\u00adden bald erken\u00adnen, dass es v\u00f6l\u00adlig \u00fcber\u00adfl\u00fcs\u00adsig ist, hart ergaunertes Geld den Her\u00adstellern pro\u00adpri\u00adet\u00e4r\u00ader Sicherung\u00adspro\u00adgramme in den Rachen zu wer\u00adfen.<\/p>\n<p>Eine let\u00adzte Anmerkung: rsync arbeit\u00adet uni\u00addi\u00adrek\u00adtion\u00adal, das bedeutet, dass es nur Dateien von A nach B oder von B nach A kopieren, nicht aber zwei Verze\u00adich\u00adnisse miteinan\u00adder abgle\u00adichen (\u201csyn\u00adchro\u00adnisieren\u201d) kann. F\u00fcr diesen Zweck ist das tech\u00adnisch \u00e4hn\u00adliche <a href=\"http:\/\/alan.petitepomme.net\/unison\/index.html\">uni\u00adson<\/a> einen Blick wert.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da Didis RSS-Feed mir st\u00e4ndig Berichte \u00fcber irgendwelche verquas\u00adten Daten\u00adsicherungsl\u00f6\u00adsun\u00adgen auf den Bild\u00adschirm schmiert, ein Bericht \u00fcber das gute Pro\u00adgramm rsync, das in nahezu allen Belan\u00adgen die Konkur\u00adrenten auf die Pl\u00e4tze zu ver\u00adweisen ver\u00admag, jedoch bis heute aus\u00adge\u00adblieben ist, mache ich das jet\u00adzt selb\u00adst. rsync sollte jedem Lin\u00aduxnutzer bekan\u00adnt sein; andern\u00adfalls sind auch sie nat\u00fcr\u00adlich \u2026<\/p>\n<p><a href=\"https:\/\/tuxproject.de\/blog\/2010\/09\/datensicherung-mit-rsync-unter-windows\/\" class=\"more-link\">\u2018Daten\u00adsicherung mit rsync unter Win\u00addows\u2019 weit\u00ader\u00adlesen \u00bb<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[19],"tags":[],"series":[],"class_list":["post-3078","post","type-post","status-publish","format-standard","hentry","category-nerdkrams"],"share_on_mastodon":{"url":"","error":""},"wp-worthy-pixel":{"ignored":false,"public":null,"server":null,"url":null},"wp-worthy-type":"normal","_links":{"self":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts\/3078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/comments?post=3078"}],"version-history":[{"count":0,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/posts\/3078\/revisions"}],"wp:attachment":[{"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/media?parent=3078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/categories?post=3078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/tags?post=3078"},{"taxonomy":"series","embeddable":true,"href":"https:\/\/tuxproject.de\/blog\/wp-json\/wp\/v2\/series?post=3078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}