PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Windowsbackup via rsync auf externe USB Platte



Gargi
31.05.2010, 22:00
Analog zu meinem Tutorial, das beschreibt, wie via rsync auf einen Server ein Backup gefahren werden kann hier noch eine Variante, die die wirkliche Power des rsync zeigt. Wir wollen nun Verzeichnisse auf einem Windows System auf eine externe USB Platte sichern. Wobei "sichern" nicht wirklich das richtige Wort ist, denn wir möchten unseren Datenbestand sozusagen synchronisieren. D.h. verändert sich etwas im Vergleich zu unserem ersten Backup auf der externen Platte werden nur die Änderungen durchgeführt, damit der Datenbestand auf der Maschine gleich dem auf der USB Platte ist. Das hat einen wesentlichen Vorteil: Die Geschwindigkeit. Ein Sync auf einer USB2 Platte mit einem Datenbestand von 115 GB ist innerhalb von zwei Minuten auf meinem Testsystem durch. Das erste Backup dauerte ca. 3 Stunden. Danach wie schon gesagt, nur das, was sich ändert.

Und das geht dazu noch extrem einfach!

Also dazu benötigt Ihr eine USB Platte, die mit NTFS formatiert sein muss. Ein vfat wird hier nicht funktionieren, da unser rsync dann immer wieder die Dateien frisch schreiben würde. Kurz: NTFS ist das Dateisystem, dass entsprechende Syncronisation unter Windows 7 / XP /Vista etc. zulässt und Sinn macht.

Also zunächst benötigen wir wieder ein Cygwin. Wie Ihr das installiert habe ich bereits ausführlich in meinem Tutorial unter folgender URL erklärt: http://www.gargi.org/showthread.php?2783-Cygwin-Linux-auf-Windows . Installiert zusätzlich bitte noch folgende Programme über das Setup:


nano
mc
rsync


Wenn fertig startet dann die Cygwinkonsole am besten als Administrator (wenn Ihr Userprofile sichern wollt). Dazu auf das Cygwin Icon rechts klicken und als Administrator starten. Dann habt Ihr schonmal die Eingabeaufforderung. Ja, das ist Linux, also werden wir unser Backup auch darüber fahren. Aber keine Sorge, sieht spartanisch aus, hat aber unglaubliche Power!

Jetzt einwenig Orientierung im System! Schaltet die USB Platte ein. Diese wird unter einen bestimmten Laufwerksbuchstaben gemountet. Ich nehme mal in unserem Beispiel das Laufwerk F an. Also auf F sollen nun unsere Backups. Wir wollen ein Userprofil sichern und ein weiteres Verzeichnis mit wichtigen Dokumenten.

Userverzeichnis:

C:\Users\Hans

Dokumente:

D:\Meine Dokumente

Unter Cygwin sind das dann folgende Pfade:

/cygdrive/c/Users/Hans
/cgdrive/d/Meine Dokumente

Da Linux keine Leerzeichen mag, gewöhnen wir uns gleich mal an, in Verzeichnissen Anführungszeichen zu verwenden, wenn wir diese aufrufen. Also lautet das dann

/cygdrive/d/"Meine Dokumente"

Das war es auch schon, mehr müsst Ihr fast nicht wissen. Also tippen wir mal zum Test einen rsync ein:


rsync -av --progress --delete /cygdrive/c/Users/Hans /cygdrive/f

Das einfach mal abschicken. Ihr seht nun, dass alle Dateien aus dem Profil kopiert werden. Das dauert natürlich einwenig. Kurze Erklärung zu den Parametern:

-a: Übernimmt alle Dateirechte, Datum etc.
-v: Zeigt an, was gerade kopiert wird
--progress: Zeigt in Prozent den Kopierfortschritt jeder Datei an. Macht bei große Daten Sinn, damit man nicht den Eindruck hat, es hätte sich was aufgehängt.
--delete: Eigentlich ein gefährlicher Parameter. D.h. wenn Ihr auf dem Ausgangsdatenträger was gelöscht habt, dann wird auch auf der USB Platte die gespiegelte Datei gelöscht. Damit ist diese auch weg! Nutzt den Parameter also nur dann, wenn Ihr eine 1:1 Spiegelung Eures Datenbestandes haben wollt.

Damit ihr nicht alles immer neu tippen müsst legt einfach ein Shell Skript an. Klingt kompliziert, ist aber ganz einfach. Startet den mcedit:


mcedit usb.sh

Füllt die Datei mit folgendem Inhalt (die Verzeichnisse ändert wie gewünscht ab):


#!/bin/sh
# zu sichernde Verzeichnisse
rsync -av --progress --delete /cygdrive/c/Users/Hans /cygdrive/f
rsync -av --progress --delete /cygdrive/d/"Meine Dokumente" /cygdrive/f

echo "Backup fertig!"
df -h /cygdrive/f

Der letzte Befehl df -h spuckt nach dem Backup aus, wieviel Platz Ihr noch auf Eurer Platte habt. Eine nicht unwichtige Info :)

Speichert die Änderung mit F2 und beendet den mcedit mit F10. Dann macht das Skript noch ausführbar:


chmod +x usb.sh

That's it! Startet das Backup in Zukunft dann mit Eurem Skript über


./usb.sh

Genial ist hier dann wirklich, dass nach dem ersten Sicherungslauf (der ja erstmal alles kopieren muss) beim zweiten Lauf dann die Synchronisation nur noch läuft. Und hier merkt Ihr erst, was der rsync für eine Power hat. Das geht so fix und so einfach, dass es im Grunde keine Ausrede mehr gibt, die ein Vernachlässigen eines regelmäßigen Backups begründet ;)

cu
Euer
Gargi

Gargi
31.05.2010, 22:19
Noch ein Hiweis / Bitte: Schreibt ruhig hier mal rein, wie Ihr das findet und wie so Eure Erfahrungen damit sind. Ich persönlich bin von dem Tool mittlerweile richtig begeistert. Einwenig Feedback dazu wäre schön :)

cu
Gargi

Benbensimpson
31.05.2010, 22:30
wird zum wochenende mal ausgelassen getestet

Gargi
01.06.2010, 22:28
Als nächstes werden wir das alles vereinfachen, indem wir ein Icon auf dem Desktop hinzufügen, über das das Backup auch mit einem Doppelklick gestartet werden kann.

Klickt dazu zunächst mit der rechten Maustaste auf den Desktop und wählt Neu->Verknüpfung aus.

http://www.gargi.org/stuff/cygwin/fba1.png

Klickt auf weiter und gebt dann den Speicherort der bash.exe Eurer cygwin Installation an. Diese liegt dann im Pfad /bin :

http://www.gargi.org/stuff/cygwin/fba3.png

Vergebt nun einen Namen für Eure Anwendung:

http://www.gargi.org/stuff/cygwin/fba4.png

Danach nochmal einen Rechtsklick auf das neue Symbol und auf Eigenschaften

http://www.gargi.org/stuff/cygwin/fba5.png

Unter Ziel müsst Ihr nun den Speicherort Eures Backupscriptes eintragen. Das geht über einen Parameter. Ändert diesen Wert Eurer Installation gemäß ab:


E:\cygwin\bin\bash.exe --login -i '/bin/backup'
(das Shellscript haben wir in diesem Beispiel unter das Cygwinverzeichnis /bin abgelegt)

http://www.gargi.org/stuff/cygwin/fba6.png

Klickt dann auf Erweitert und legt fest, dass das Programm als Admin ausgeführt werden soll (falls Ihr Nutzerprofile sichert).

http://www.gargi.org/stuff/cygwin/fba7.png

Ebenso könnt Ihr dann noch ein schönes Icon auswählen.

http://www.gargi.org/stuff/cygwin/fba8.png

Speichert die Änderung. Jetzt könnt Ihr das Backup auch über einen Doppelklick starten.

cu
Gargi