Das Örtchen RSS-Feed
Kategorie
Kategorie: Blog
Buttons & Statistiken
Neueste Kommentare

Sonstiges: Datensicherung und Datenrettung

Wie in meinen früheren Beiträgen schon geschrieben, hab ich derzeit Probleme mit meinem Webspace. Gott sei Dank habe ich wenige Tage vorher eine Sicherung der Drupal-Datenbank eingerichtet, was mich etwas beruhigt. Doch das Ganze hat mich paranoid werden lassen.

Schon seit Mai verfüge ich über eine NAS mit massig Festplattenkapazität, es fehlte mir nur die passende Sicherungssoftware. Da ich im Zusammenhang mit meinem geplanten Providerwechsel das Blog von Tim Bormann entdeckte, fand ich dort zufälligerweise ein paar passende Beiträge zum Thema Datensicherung. Doch was sollte bzw. will ich eigentlich sichern?

  • Windows XP/Vista Systempartition
  • diverse einzelne Dateiordner
  • eventuell E-Mails, Kontaktdaten und Kalender (Thunderbird, Synchronisation Handy)

Für die ersten beiden Aufgaben fand ich bei Tim entsprechende Empfehlungen, nämlich Drive Snapshot und Super Flexible File Synchronizer. Ersteres kann übrigends installiert werden, muss aber nicht und ist somit portabel. Letzteres ist leider nicht portabel, was aber in diesem Fall auch nicht wirklich wichtig bzw. überhaupt sinnvoll ist.

Sicherung der Systempartition

In einem weiteren Beitrag zeigt Tim wie sich der Sicherungsvorgang von Drive Snapshot automatisieren lässt. Dies ist problemlos möglich, da das Tool nicht wie früher beispielsweise bei Ghost zum Imagen über eine spezielle Boot-Diskette gestartet werden muss, sondern im Hintergrund bei gestartetem Windows läuft. Seine Lösung war mir persönlich jedoch zu unflexibel. Ich wollte erreichen, daß ich auf meiner NAS per Batch-Aufruf eine inkrementelle Sicherung der derzeitigen Systempartition gestartet wird und zwar unabhängig des derzeitigen Rechners und des derzeitigen Laufwerksbuchstaben der Systempartition. Als Ausgangsposition nutzte ich die Infos aus folgendem Kommentar im CC-CB.

@ECHO ON

@SETLOCAL
@SET SNAP_YEAR=%date:~6,4%
@SET SNAP_MONTH=%date:~3,2%
@SET SNAP_DAY=%date:~0,2%
@SET SNAP_DATE=%SNAP_YEAR%-%SNAP_MONTH%-%SNAP_DAY%
@SET SNAP_TIME=%time:~0,8%
@SET SNAP_PATH=\\SERVER\public\Snapshots\%SNAP_YEAR%-%SNAP_MONTH%
@SET HASH_FILE=%SNAP_PATH%\%COMPUTERNAME%_%SystemDrive::=.hsh%
@SET ERROR_LOG=%HASH_FILE:.hsh=.log%
@SET SNAP_FILE=$computername_$disk_$type_%SNAP_DATE%_%SNAP_TIME::=-%.sna
@SET SNAP_CONF=%SNAP_PATH%\%SNAP_FILE% -W -R -T -L1490 -Go
@SET START_SNP=C:\Snapshot\snapshot.exe %SystemDrive% %SNAP_CONF%

@IF NOT EXIST %SNAP_PATH% MKDIR %SNAP_PATH%

@IF NOT EXIST %HASH_FILE% GOTO FULL 
@GOTO DIFF

:FULL
@SET HASH_FILE=-O%HASH_FILE%
@GOTO START
:DIFF
@SET HASH_FILE=-h%HASH_FILE%

:START
@del %ERROR_LOG%
@ECHO ===== BEGIN %date% %SNAP_TIME% =====>>"%ERROR_LOG%" 2>>&1
START /B /MIN /REALTIME %START_SNP% %HASH_FILE% >>"%ERROR_LOG%" 2>>&1

exit

Erläuterungen

Den obigen Code beispielsweise als snapshot.bat speichern. Vor dem Aufruf (beispielsweise mit dem Taskplaner oder wie bei mir mittels Verknüpfung im Autostart-Ordner) sind ledigliche zwei Stellen an Eure jeweilige Konfiguration anzupassen.

\\SERVER\public\Snapshots
Dies solltet Ihr gegen den Ziel-Pfad des Snapshots austauschen.

C:\Snapshot\snapshot.exe
Dies sollte der Speicherort des Tools sein (vermutlich irgendwo im Programme-Ordner).

Doch was macht der Code nun genau?

Zunächst erlaube ich die Anzeige von Ausgaben in der Kommandozeile. Dann sage ich, daß alle Variablen nur lokal für die Zeit der Sicherung gelten sollen.

Nun lege ich fest, wie Datum und Uhrzeit befüllt werden sollen. Wichtig war mir hierbei, daß nachher im Dateinamen das Datum mit dem Jahr beginnt und die Uhrzeit keine Millisekunden mehr enthält.

Nun lege ich den Speicherort der Snapshots (für jeden Monat einen neuen Ordner), der Logdateien und der Hashdateien fest. Der Name der Hashdatei wird im Folgenden aus dem Computernamen und dem Laufwerksbuchstaben der Systempartition gebildet. Der Name der Logdatei entspricht dem Namen der Hashdatei mit getauschter Dateiendung. Der Dateiname des Snapshots selbst besteht aus dem aktuellen Computernamen, dem Laufwerksbuchstaben, dem Sicherungstyp (ful oder dif), dem Datum und der Uhrzeit (Doppelpunkte gegen Minus ausgetauscht).

Snapshot soll folgendermaßen gestartet werden:

  • ohne Nachfrage (-W)
  • mit Löschung des Papierkorbs (-R)
  • mit abschließendem Test (-T)
  • mit einer maximalen Dateigröße (-L)
  • mit Start der graphischen Fortschrittsanzeige, die nur im Fehlerfall aufbleibt (-Go)

Es wird geprüft, ob der Ordner für den aktuellen Monat schon existiert und gebenenfalls angelegt. Danach ist nur noch die Festlegung der Sicherungsart zu erledigen. Hierfür wird geprüft, ob die Hashdatei im Ordner für den aktuellen Monat schon existiert. Wenn nicht, dann wird eine Vollsicherung gestartet und abschließend die Hashdatei angelegt. Existiert sie hingegen, so wird eine inkrementelle Sicherung unter Benutzung der Hashdatei gestartet.

Abschließend wird die Logdatei gelöscht, direkt neu angelegt und mit Zeitpunkt des Sicherungsbeginns inklusive Datum befüllt. Danach wird Snapshot minimiert gestartet, jegliche Ausgaben von Snapshot in die Logdatei umgeleitet und das Schließen der Kommandozeile bei Sicherungsende eingeleitet.

Hinweis: Das Fenster von Snapshot geht zumindest bei mir mit etwas Verzögerung auf. Man sollte also immer etwas warten. bevor man Fehler sucht.

Kleiner Haken

Mit obiger Batchdatei wird zwar Snapshot selber minimiert aufgerufen, aber leider nicht die startende Batchdatei und die bleibt wegen dem Logging in Kombination mit der geöffneten Fortschrittsanzeige leider offen (verursacht durch den Parameter B des Start-Befehls). Ohne den Befehl funktioniert leider das Umleiten der Snapshot-Ausgaben nicht und in meiner Version 1.39 aus der ct Nr. 26 vom 08.12.2008 gibt es leider den von Tim erwähnten Logdatei-Parameter nicht. Jedoch auch hierfür habe ich eine Lösung gefunden.

@start /MIN snapshot.bat

Den obigen Befehl einfach in eine weitere Datei (beispielsweise starter.bat) packen und die Datei in den gleichen Ordner wie die andere Batch-Datei speichern. Der eigentliche Start der Sicherung läuft nun immer über die neue Batch-Datei, welche sich sofort wieder beendet.

Sicherung einzelner Ordner

Super Flexible File Synchronizer scheint mir derzeit das optimale Tool zu sein, um bestimmte Ordner auf mehreren Rechern synchron zu halten. Ich habe mir sofort eine Home Business License für Windows in der Professional Variante zugelegt und teste es derzeit, um zwei Ordner meiner World of Warcraft-Installation zwischen PC und Notebook zu synchronisieren (wobei beide die Daten auf meiner NAS zwischenlagern). Vor allem reizte mich bei dem Tool der Support von FTP/WebDAV und die Echtzeitsynchronisation.

Thunderbird-Sicherung

Für die Sicherung meiner E-Mails, Kontakte und vor allem dem Abgleich meiner Kalenderdaten auch in Kombination mit meinem derzeitigen Handy suche ich hingegen noch nach einer Lösung.

Nachtrag Datenrettung

Doch was tun, wenn das Kind schon in den Brunnen gefallen ist und man beispielsweise eine wichtige Datei aus Versehen gelöscht hat? Zufällig stand ich heute genau vor dem Problem, daß eine neue und noch nicht gesicherte Datei futsch war und machte mich auf die Suche nach einem passenden Tool.

Mit Recuva wurde ich fündig. Das Tool ist relativ klein (unter 5 MB) und kann als portable Version kostenlos beim Hersteller heruntergeladen werden. Aber Achtung nach dem eine Datei aus Versehen gelöscht wurde, sollte man auf keinen Fall auf diesem Laufwerk weiterarbeiten, da sonst die zu rettenden Daten eventuell unrettbar überschrieben wird.

Die meiner Meinung nach beste Möglichkeit ist der Download auf einen USB-Stick und das dortige Entpacken des ZIP-Archivs. Auf dem Rechner mit der gelöschten Datei kann man dann das Tool direkt vom USB-Stick starten.

Hallo! Bist du neu hier? Dann abonniere doch den RSS-Feed dieses nicht mehr ganz so stillen Örtchens, um über meine geistigen Ergüsse auf dem Laufenden zu bleiben. Alternativ besteht auch die Möglichkeit, sich von FeedBurner per E-Mail über meine Ausscheidungen benachrichtigen zu lassen.

Neuen Kommentar schreiben

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.
Der Inhalt dieses Feldes wird öffentlich zugänglich angezeigt, aber als rel="nofollow" markiert.
Hinweis

Kommentare beleben den Blog! Ich freue mich über jeden Kommentar. Du kannst hier offen Deine Meinung zum Artikel sagen, aber bitte beachte die Netiquette und vermeide es andere zu beleidigen.

Bitte unterlasst es die Kommentare zu SEO-Zwecken zu missbrauchen. Kommentare mit Links, die nicht zu Blogs führen (oder zu Blogs mit Grauzonen-Themen) und/oder Keywords als Namen verwenden, sind nicht erwünscht!

Möchtest Du mir einen Blog-Artikel schmackhaft machen, dann schreib die URL ohne HTML-Tag in den Kommentarbereich und ich werde diesen bei Gefallen verlinken.