Daten von einem Server zum Anderen kopieren und den Zeitstempel berücksichtigen von Ordnern & Dateien.
robocopy „\\Fileserver1\Daten“ „\\Fileserver2\Daten“ /e /copy:DATSOU /MIR /r:0 /w:0 /DCOPY:T /MT
Kurze Erklärung zu den Schaltern die ich verwende
/e Kopiert alle Unterverzeichnisse, auch Leere Ordner
/s Kann man stattdessen verwenden wenn man keine leeren Ordner kopieren will
/copy:DATSOU D=Daten, A=Attribute, T=Zeitstempel, O=Besitzerinfo, U=Informationen zur Überwachung. Man kann auch /copyall nehmen
/MIR Spiegelt alle Ordner, Achtung im Ziel werden auch Daten gelöscht wenn nicht in der Quelle vorhanden!!
/r:0 und /w:0 sollte man immer verwenden sonst kann der Vorgang sehr lange dauern wenn z.B. Dateien in Benutzung sind. /r definiert wie oft Robocopy versucht eine Datei zu kopieren und /w gibt an wie lange er dabei warten soll zw. den Versuchen. Beide Werte sind im default auf sehr hohe Werte eingestellt deswegen sollte man die immer manuell setzen, am besten auf 0.
/DCopy:T Möchte man den Zeitstempel mitkopieren reicht es nicht wenn man nur den Schalter T bei /copy: benutzt. Denn bei /copy: werden nur die Zeitstempel der Dateien mitkopiert. Zusätzlich muss man noch DCOPY:T angeben wenn man auch die Zeitstempel von Verzeichnissen (D = Directory) mitkopieren möchte.
Bei Server 2003 gibt es anscheinend den Befehl DCopy nicht!!
/MT kopiert mehrere Dateien gleichzeitig. Schreibt man nur /MT werden 8 Threads gleichzeitig gefahren, ich glaube max. 128 Threads sind möglich dann würde man /MT:128 schreiben. Ich denke, dass z.B. übers Netzwerk oder auf normalen Festplatten schon 8 zuviel sind. Das muss man von Fall zu Fall ausprobieren weil 8 gleichzeitige Kopiervorgänge können über LAN schon dazu führen dass es insgesammt langsamer läuft wie mit einem 1 Thread.
Bei einem LAG könnten mehrere gleichzeitige Kopiervorgänge schon Performance bringen.
Ich hatte letztens einen Fall wo auf einem Server auch etliche Dateien lagen die zwischen 5-20GB groß waren, wenn man hier z.B. /MT:4 einstellt dann werden evtl. auch die kleinen Dateien schon mal übertragen während 1 Thread immer noch an der großen Datei kopiert.
Was man auch wissen muss. Stellt man mehr wie 1 Thread ein wird einem im CMD Fenster immer nur ein Kopiervogang angezeigt. Man könnte jetzt denken, dass es nicht funktioniert. Schaut man sich aber über den Ressourcenmanager aus dem Taskmanager die Dateioperationen an sieht man, dass dann doch robocopy mehrfach läuft. Was auch etwas merkwürdig ist, stellt man z.B. 4 Threads ein, sieht man manchmal auch 8 oder mehr laufen. Ich denke, dass liegt dann daran dass der die Ansicht nicht schnell genug hinterherkommt. In Warheit laufen wahrscheinlich nur 4.