Robocopy Basics

Mein Lieblingstool für Backups ist immer wieder Robocopy im Mirror-Modus! Zuerst natürlich: Immer die aktuelle Version verwenden. Falls man ein Betriebssystem verwendet in dem Robocopy nicht automatisch Bestandteil ist, kann man diese (XP026) auf einer Technet Seite als Bestandteil des Robocopy GUI herunterladen. Einfach den Installer laufen lassen, dann liegt die robocopy.exe in WINDOWS\SYSTEM32. Das GUI selbst verwende ich nie. Normalerweise schreibe ich folgendes Kommando in eine Batch-Datei und führe diese über “Geplante Tasks” zeitgesteuert aus.

robocopy.exe "Quellpfad" "Zielpfad" /B /MIR /COPYALL /R:3 /W:1
                                            /NP /NDL /LOG+:"Logfilepfad"

Wenn das Zielvolume nicht mit NTFS formatiert ist, kann /COPYALL wegen der fehlenden Sicherheits-Eigenschaften nicht verwendet werden, es muss stattdessen /COPY:DAT verwendet werden. Zusätzlich sollte die Option /FFT hinzugefügt werden um Probleme mit dem ungenaueren Zeitstempel auf solchen Dateisystemen zu vermeiden. Sonst werden Dateien bei jedem Kopiervorgang erneut kopiert, obwohl sie nicht verändert wurden. Das Kommando wäre dann also:

robocopy.exe "Quellpfad" "Zielpfad" /B /MIR /COPY:DAT /FFT /R:3 /W:1
                                            /NP /NDL /LOG+:"Logfilepfad"

Es kann beim Kopieren von sehr großen Dateien von mehreren 100 GB (z.B. Exchange-Backups) mit Robocopy zu Abbrüchen kommen. Dies läßt sich mit der Option /IPG:3 vermeiden (3 hat mir ausgereicht), die alle 64 KB eine Pause von 3 Millisekunden einfügt, wodurch sich allerdings die Gesamtzeit des Kopiervorgangs verlängert.
Wenn der Quellpfad eine unsichtbare Freigabe ist, also z.B. “\\SERVERNAME\D$”, dann sind nach dem Kopiervorgang die kopierten Dateien unsichtbar. Um dies zu vermeiden kann man mit /A-:H das “hidden” Attribut von allen kopierten Dateien entfernen. Damit wird das Attribut allerdings natürlich auch von tatsächlich unsichtbaren Dateien entfernt, diese Option ist also mit Vorsicht zu genießen.