2014-09-19 21:03:44 +0000 2014-09-19 21:03:44 +0000
32
32

ROBOCOPY-Befehl zur Durchführung einer inkrementellen Sicherung

Ich bin mit der ROBOCOPY-Dokumentation überfordert. Ich möchte eine inkrementelle Sicherung meiner lokalen Dateien auf das Netzlaufwerk (M) durchführen. Ich möchte, dass es so schnell wie möglich abläuft, ohne Protokolldatei und mit so wenig Text wie möglich auf dem Bildschirm. Meine Dateien befinden sich alle irgendwo in einem Ordner (MyFolder), der viele verschachtelte Unterordner hat. Mit “inkrementell” meine ich “nur kopieren, was neu oder geändert ist”. Ich möchte keine historischen Dateien im Ziel löschen, aber wenn ich eine Datei geändert habe, möchte ich nur die neuere Version. Und wenn ich eine Datei nicht geändert habe, dann möchte ich sie nicht über die vorhandene gesicherte Datei kopieren. Ist das Folgende korrekt? (Läuft unter Win7 Enterprise.)

robocopy C:\MyFolder M:\MyFolder /z /np /xo /e

Bitte, keine Vorschläge für irgendetwas außer robocopy. Ich bin nicht berechtigt, etwas zu installieren. Und ich kümmere mich nicht um Sicherheitskram. Dafür habe ich Leute (ob ich sie will oder nicht). ;-)

Antworten (2)

43
43
43
2014-10-26 14:25:57 +0000

Eine Variante des folgenden Skripts verwende ich schon seit einigen Jahren erfolgreich:

robocopy C:\source M:\destination /MIR /FFT /R:3 /W:10 /Z /NP /NDL

Parameter erklärt

  • Die Option /MIR (entspricht /E /PURGE) steht für “Spiegeln” und ist die wichtigste Option. Sie betrachtet Ihren Quellordner als “Master” und veranlasst robocopy, alle Änderungen in der Quelle (neue Dateien, Löschungen etc.) auf das Ziel zu kopieren/spiegeln, was eine sinnvolle Einstellung für ein Backup ist.

  • /FFT ist eine sehr wichtige Option, da sie einen 2-Sekunden-Unterschied beim Vergleich von Zeitstempeln von Dateien zulässt, so dass kleine Zeitunterschiede zwischen Ihrem Computer und dem Backup-Gerät keine Rolle spielen. Damit wird sichergestellt, dass nur geänderte Dateien rüberkopiert werden, auch wenn die Änderungszeiten der Dateien nicht exakt synchronisiert sind.

  • /R:3 gibt die Anzahl der Wiederholungsversuche an, wenn die Verbindung fehlschlagen sollte, und /W:10 gibt eine Wartezeit von 10 Sekunden zwischen den Wiederholungsversuchen an. Dies sind nützliche Optionen, wenn die Sicherung über ein Netzwerk erfolgt.

  • /Z kopiert Dateien im “Neustartmodus”, sodass teilweise kopierte Dateien nach einer Unterbrechung fortgesetzt werden können.

  • /NP und /NDL unterdrücken einige Debug-Ausgaben, Sie können zusätzlich /NS, /NC, /NFL hinzufügen, um die Menge der Ausgaben weiter zu reduzieren (siehe die Dokumentation für Details). Ich würde jedoch vorschlagen, bei den ersten Durchläufen einige Debug-Ausgaben zu drucken, um sicherzustellen, dass alles wie erwartet funktioniert.

Zusätzliche nützliche Parameter, die von anderen Anwendern erwähnt wurden

  • /XJD schließt “Kreuzungspunkte” für Verzeichnisse und symbolische Links aus, die Probleme wie Endlosschleifen beim Backup verursachen können. Siehe die Kommentare von Brian für Details.

  • /MT[:N] verwendet Multithreading und kann die Übertragung vieler kleiner Dateien beschleunigen. Für N sollte ein Wert von 2-4 mal der Anzahl der Kerne auf einer normalen Maschine ausreichen. Kommentiert von Zoredache auf die ursprüngliche Frage.

Bearbeitung als Antwort auf den Kommentar von Granger:

Wenn Sie wirklich Dateien behalten wollen, die auf der Zielseite, aber nicht auf der Quellseite existieren, ersetzen Sie einfach die Option /MIR mit /E. Ich würde jedoch dringend empfehlen, /MIR zu verwenden, wenn Sie das Ziel für inkrementelle Backups verwenden möchten. Andernfalls werden alle Dateien, die an der Quelle umbenannt oder verschoben wurden, das Ziel durcheinander bringen, was bedeutet, dass Sie Duplikate erhalten. Ich erstelle normalerweise einen Unterordner “backup” auf dem Ziel, der eine 1:1-Kopie meines Quellordnerbaums enthält. Auf diese Weise kann man neben dem Backup-Ordner noch historische Dateien herumliegen haben und diese später gefahrlos entfernen oder umorganisieren.

8
8
8
2015-01-20 18:58:26 +0000

Ich verwende gerne das Folgende:

robocopy "C:\Users\<user>" "F:\robocopy\<user>" /XJD /R:0 /XA:SH /E /ZB /XO /XD "Downloads" "AppData" /LOG:robocopy.log /TEE

Ich führe dies als Administrator aus, damit der Sicherungsmodus (Option /b) eine Kopie der verwendeten Dateien erstellen kann.

Andere Optionen, die sich nicht auf die inkrementelle Natur der Sicherung beziehen, sind:

/XD um Verzeichnisse von der Sicherung auszuschließen.

/XJD, um Verbindungspunkte (“Meine Musik”) auszuschließen.

/R:0, um die Wiederholung bei fehlgeschlagenen Versuchen auf 0 zu setzen.

/XA:SH, um versteckte und Systemdateien zu überspringen.

Um so viele Protokollierungsinformationen wie möglich zu entfernen, fügen Sie die folgenden Optionen /NP /NS /NDL /NFL /NC an.