Warum kopiert Robocopy identische Dateien erneut (auf SMB-Share)?
Hallo,
ich hab mir ein NAS geleistet, und ans Home-LAN angeschlossen. Klappt soweit auch sehr gut.
Um lokale Daten jetzt auf den NAS zu kopieren nutze ich Robocopy, mit dem ich sonst beste Erfahrungen gemacht habe.
Wenn ich Robocopy nach einem (Probe)lauf erneut aufrufe, stelle ich verwundert fest, dass er unterschiedlich auf bereits kopierte Dateien reagiert:
- entweder Rc meldet 'newer file' oder 'older file' und kopiert es erneut,
- oder Rc überspringt das File.
Die Dateien wurden ganz sicher nicht in der Zwischenzeit geändert. Auffällig ist noch, dass das Verhalten immer(?) verzeichnisweise gleich ist, d.h. ganze Verzeichnisse werden übersprungen, oder alle Files eines Dirs werden als older/newer Files erkannt.
Bei den Properties der Quell- und Ziel-Dateien ist mir nichts aufgefallen. Das Ziel ist eben der NAS, von dem ich das OS nicht kenne (TeraStation von Buffalo); nur dass es ein SMB Share ist.
Als Workaround kann ich Rc anweisen, keine älteren oder jüngeren Dateien (/XO /XN) zu kopieren (defakto also nur nicht-existierende Dateien), aber dann überspringt Rc solche Dateien, bei denen der letzte Rc-Lauf abgebrochen wurde.
Gruß, Farbauti.
ich hab mir ein NAS geleistet, und ans Home-LAN angeschlossen. Klappt soweit auch sehr gut.
Um lokale Daten jetzt auf den NAS zu kopieren nutze ich Robocopy, mit dem ich sonst beste Erfahrungen gemacht habe.
Wenn ich Robocopy nach einem (Probe)lauf erneut aufrufe, stelle ich verwundert fest, dass er unterschiedlich auf bereits kopierte Dateien reagiert:
- entweder Rc meldet 'newer file' oder 'older file' und kopiert es erneut,
- oder Rc überspringt das File.
Die Dateien wurden ganz sicher nicht in der Zwischenzeit geändert. Auffällig ist noch, dass das Verhalten immer(?) verzeichnisweise gleich ist, d.h. ganze Verzeichnisse werden übersprungen, oder alle Files eines Dirs werden als older/newer Files erkannt.
Bei den Properties der Quell- und Ziel-Dateien ist mir nichts aufgefallen. Das Ziel ist eben der NAS, von dem ich das OS nicht kenne (TeraStation von Buffalo); nur dass es ein SMB Share ist.
Als Workaround kann ich Rc anweisen, keine älteren oder jüngeren Dateien (/XO /XN) zu kopieren (defakto also nur nicht-existierende Dateien), aber dann überspringt Rc solche Dateien, bei denen der letzte Rc-Lauf abgebrochen wurde.
Gruß, Farbauti.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 13.08.2009 um 22:49:33 Uhr
Auf "gelöst" gesetzt und verschoben von "Linux/Unix/Netzwerk" nach "Windows/Tools und Utilities".
Content-ID: 34193
Url: https://administrator.de/contentid/34193
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
8 Kommentare
Neuester Kommentar
Ich hatte das gleiche Problem und war bei Google auf der Suche und bin fündig geworden. Der entscheidende Parameter ist /FFT.
Aufgrund von Rundungsdifferenzen der unterschiedlichen Zeitformate von FAT32 und NTFS erkennt robocopy manchmal Dateien als neuer, obwohl diese erst gerade kopiert worden sind. Mit /FFT müssen sich Dateien um mehr als 2 Sekunden unterscheiden, damit robocopy sie als neuer bzw. älter kennzeichnet.
Auszug aus der Dokumentation:
/FFT
Assume FAT File Times (2-second granularity). Useful for copying to third-party systems that declare a volume to be NTFS but only implement file times with a 2-second granularity.
Aufgrund von Rundungsdifferenzen der unterschiedlichen Zeitformate von FAT32 und NTFS erkennt robocopy manchmal Dateien als neuer, obwohl diese erst gerade kopiert worden sind. Mit /FFT müssen sich Dateien um mehr als 2 Sekunden unterscheiden, damit robocopy sie als neuer bzw. älter kennzeichnet.
Auszug aus der Dokumentation:
/FFT
Assume FAT File Times (2-second granularity). Useful for copying to third-party systems that declare a volume to be NTFS but only implement file times with a 2-second granularity.
Servus,
...das hätt mich fast zum Wahnsinn getrieben, mit dem Parameter läufts einwandfrei.
Falls es wen interessiert, meine Parameter (Spiegelung):
robocopy /FFT /MIR /DCOPY:T (Anm.: DCOPY:T ist für das Spiegeln des Verzeichnisdatums zum Ziel)
DANKE!!!
P.S.: gibts eigentlich für XCOPY eine ähnliche Lösung?
Das hat nämlich das selbe Problem...
...das hätt mich fast zum Wahnsinn getrieben, mit dem Parameter läufts einwandfrei.
Falls es wen interessiert, meine Parameter (Spiegelung):
robocopy /FFT /MIR /DCOPY:T (Anm.: DCOPY:T ist für das Spiegeln des Verzeichnisdatums zum Ziel)
DANKE!!!
P.S.: gibts eigentlich für XCOPY eine ähnliche Lösung?
Das hat nämlich das selbe Problem...
Jaaaa, DAS ist der entscheidende Parameter.
Vielen Dank!