robocopy zum Sichern und Löschen verwenden

Die Microsoft-Utility robocopy ist seit Jahren mein Lieblings-Programm, wenn es darum geht, ganze Festplatten oder Verzeichnisbäume dateiweise zu kopieren,  z.B. zu Zwecken der Datensicherung.

Der CMD-Befehl

robocopy c:\ x:\backup /w:0 /r:0 /mir /xj

sichert z.B. alle Dateien der Festplatte c:\ in das Verzeichnis x:\backup (x: könnte z.B. eine externe Festplatte sein).

Wenn der normale Windows Explorer auf eine vom System gesperrte Datei trifft (z.B. die Registry-Dateien u.v.m.), bietet er mir nur die Möglichkeiten [Wiederholen] und [Abbrechen] an. Wiederholen bringt aber nichts, da die Datei auch beim nächsten Versuch noch gesperrt sein wird. Und wenn ich [Abbrechen] wähle, werden alle danach folgenden Dateien nicht mitkopiert. Diese Variante ist also für Sicherungszwecke denkbar ungeeignet.

robocopy geht mit dieser Problematik wesentlich professioneller um: Über den Schalter /r (=retry) kann ich ihm sagen, wie oft er versuchen soll, eine gesperrte Datei zu kopieren und mit /w (=wait) teile ich ihm die Anzahl Sekunden zwischen den Wiederholungen mit. /w:0 /r:0 bedeutet also: Wenn Du eine vom System gesperrte Datei findest, mach einfach mit der nächsten weiter.

Über /mir (=Mirror) weise ich robocopy an, eine 1:1-Kopie des Quellverzeichnisses anzulegen. Das beinhaltet das Löschen von Dateien, die sich noch im Zielverzeichnis befinden, jedoch im Quellverzeichnis gelöscht wurden.

/xj sorgt dafür, dass robocopy Abzweigungspunkten (eng. junction points) nicht folgt. Standardmäßig macht er das nämlich, und dann findet er unter \users\meinname den Abzweigungspunkt „Eigene Dateien“, der wiederum zu \users\meinname abzweigt und man hat eine klassische Endlosschleife. robocopy schreibt die Sicherungsfestplatte voll und kommt nie zum Ende.

robocopy eignet sich hervorragend, um die Daten von einem alten Computer über ein externes Laufwerk auf einen neuen Computer zu übertragen. Wenn man auf dem neuen Computer die Daten aus der Sicherung in die entsprechenden Verzeichnisse verschoben hat, und die restlichen, nicht benötigten, Daten löschen will, trifft man häufig auf ein sehr nerviges Problem: Der Internet-Explorer legt temporäre Dateien mit sehr langen Dateinamen an. Diese überschreiten die maximale Länge von 260 Zeichen, die seitens Windows normalerweise vorgegeben sind. Offensichtlich kann der IE mit so langen Dateien umgehen, und auch robocopy bekommt das hin. Leider kann der Windows Explorer diese Dateien jedoch nicht löschen. Rein theoretisch müsste man die Dateien also suchen, ihnen manuell einen kürzeren Dateinamen geben und sie dann löschen. Und das kann dauern …

Wesentlich eleganter ist es, wenn man robocopys /mir-Schalter dafür verwendet. Wie bereits oben beschrieben löscht dieser Schalter ja Dateien, die es im Zielverzeichnis gibt, im Quellverzeichnis jedoch nicht. Dieses Verhalten kann ich sehr elegant zum Löschen des Sicherungsverzeichnisses nutzen, indem ich ein leeres Verzeichnis anlege und mit robocopy in das Backupverzeichnis mit den überlangen Dateinamen kopiere:

robocopy c:\leer c:\backup /mir

 

 

Windows-Partition mit Linux auf externe Festplatte sichern

Wenn ein Windows-Rechner nicht mehr bootet – aus welchen Gründen auch immer – versuche ich als erstes, eine Datensicherung zu machen. In vielen Fällen ist das mit einer Linux-Live-CD möglich, obwohl man an die Daten mit Windows selber nicht mehr herankommt.

Ich persönlich verwende dazu in aller Regel Knoppix. Ein ISO-Image kann man sich hier kostenlos aus dem Internet herunterladen. Nach dem Download brennt man die ISO-Datei mit einer geeigneten Software – z.B. CDBURNERXP – auf CD. Im BIOS des nicht mehr bootenden Windows-Rechner muss man dann noch sicherstellen, dass das erste Boot-Medium, nach dem er sucht, die CD ist.

Wenn man den Windows-Rechner einschaltet und die Knoppix-CD im Laufwerk liegt, sollte der Computer Linux booten.

Jetzt gilt es, herauszubekommen, unter welcher Linux-Bezeichnung die Windows-Festplatten angesprochen werden können. Hierzu kann man z.B. einen Dateimanager wie PCManFM benutzen.

Ein typischer Fall wäre z.B.

Windows-Laufwerk C: –> /media/sda2 /
Windows-Laufwerk D: –> /media/sda3 /
externe Festplatte –> /media/sdb1

Das kann man aber keinesfalls verallgemeinern. Also: Im ersten Schritt immer unter /media nachschauen, wie Knoppix die Laufwerke bei diesem Computer benennt. Die folgenden Befehle beziehen sich auf die vorstehend beispielhaft genannte Struktur.

Auf der externen Festplatte lege ich ein Verzeichnis mit dem Namen des PC-Besitzers (z.B. username) an, in das ich seine Daten kopieren kann.

Jetzt startet man die Console und gibt hier folgende Befehle ein:

cp -Rdpv /media/sda2 /media/sdb1/username/laufwerkc
cp -Rdpv /media/sda3 /media/sdb1/username/laufwerkd

Sofern das Windows-Dateisystem noch funktionsfähig ist, sollten jetzt die Daten auf die externe Festplatte kopiert werden.