lastcentral
Goto Top

Robocopy: MIR und SECFIX: kopiert jedes zweite mal alles?

Hallo,

Hintergrund:
ich habe ein Windows 2012R2 Server und möchte zur Migration Daten auf einen anderen kopieren. Das möchte ich "stückchenweise" machen, also habe ich ein DFS Namespace dafür aufgesetzt. Das neue Ziel ist Samba. Dazu möchte ich inkrementell mit robocopy kopieren. robocopy nutze ich oft, aber hier scheitere ich irgendwie am "inkrementell". Das Problem ist hier, dass die Dateien immer als geändert kopiert werden.

Situation:
Ich habe das Problem vereinfacht, um es besser zu untersuchen. Das ist jetzt ein trivial Beispiel, eine Datei von lokal nach lokal. Da bräuchte man natürlich gar kein robocopy und so weiter, aber das ist eben nur die Testumgebung.

Erwartung:
robocopy kopiert einmal und danach wird die ungeänderte Datei immer übersprungen.

Beobachtung:
robocopy kopiert beispielsweise bei jedem zweiten Aufruf die Datei trotzdem. Auch wenn ich länger warte, oder so schnell mache, wie ich kann, es ist jedes zweite Mal.
(Das ist anders als in meinem echten Fall, da werden die immer kopiert und nicht "nur" jedes zweite Mal, aber ich hoffe, die Lösung hierfür hilft mir bei meinem eigentlichen Problem).

Unten habe ich mal vier Aufrufe innerhalb weniger Sekunden, wo sich das genau abgewechselt hat, einkopiert und dann ein Beispielauszug mit /DEBUG. Das sieht immer abwechselnd gleich aus bis auf "Change", was zwischen Change: 1d7c74afa76ac8e und einem neue Wert (1d9bafc7b9978d0, 1d9bafc8010beb8, 1d9bafc818fb2f8, 1d9bafc82fc3111, könnte ein Zeitstempel in 100ns Auflösung sein, scheint um ca 10 Millionen (dezimal) pro Sekunde zu steigen?!).

Ich habe den Ordner d:\tmp extra für den Test eben gerade angelegt. Er ist nicht freigegeben und es hat kein User Zugriff (nur SYSTEM und Administrator), es darf sich niemand auf dem Server einloggen (kein Terminal Server oder so), kurz, niemand kann diese Datei ändern. Den Virusschutz habe ich für den Test abgeschaltet

Fragen:
1. Was ist da los? face-smile

2. Kann man bei robocopy eine Version anzeigen? Das ist 2012R2, also sehr alt. Manuelle Updates finde ich nicht, weil das ja über Windows Update aktualisiert werden sollte. Kann man das wirklich nicht aktualisieren?

3. Gibt es Alternativen, die robust funktionieren? "rsync" in "Git Bash" habe ich nicht zum Laufen bekommen (Meldung aus dem Eventlog ganz am Ende - Der Dev Studio 2010 Debugger zeigt nur "Eine Ausnahme beim Laden führte zum Abbruch" an, bemerkenswert). Ich habe etliche GUI Tools gefunden (synctoy, freesync, puresync), aber ich möchte es ja scripten.

4. Wie kriege ich meine Ordner inkrementell übertragen und eine Liste der wirklich geänderten Dateien zur Prüfung?

Weitere Infos: Lasse ich /SEXFIX weg, dann klappt es in der Testumgebung, aber aufs NAS kopiert er immer noch alles. Lasse ich /SECFIX und /COPYALL weg, dann geht es auch in der echten Umgebung, aber dann werden ja Rechte nicht aktualisiert. Ich kann das sogar einschränken auf "/COPY:S": gebe ich das an, wird jedes mal kopiert. Weglassen kann ich es meines Verstädnisses nach nicht, weil dann die ACL nicht gesetzt werden.

/FFT macht keinen Unterschied (ich hab ja auch kein FAT32).

Für jeden Tip dankbar!


d:\tmp>robocopy d:\tmp\adressen d:\tmp\adressen-neu test1.txt /TEE /MIR /COPYALL /SECFIX

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Donnerstag, 20. Juli 2023 12:21:54
   Quelle : d:\tmp\adressen\
     Ziel : d:\tmp\adressen-neu\

    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /R:1000000 /W:30

------------------------------------------------------------------------------

                           1    d:\tmp\adressen\

------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         0         1         0         0         0
    Bytes:     2.5 k         0     2.5 k         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00
   Beendet: Donnerstag, 20. Juli 2023 12:21:54


d:\tmp>robocopy d:\tmp\adressen d:\tmp\adressen-neu test1.txt /TEE /MIR /COPYALL /SECFIX

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Donnerstag, 20. Juli 2023 12:21:58
   Quelle : d:\tmp\adressen\
     Ziel : d:\tmp\adressen-neu\

    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /R:1000000 /W:30

------------------------------------------------------------------------------

                           1    d:\tmp\adressen\
              Geändert              2642        TEST1.TXT

------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         1         0         0         0         0
    Bytes:     2.5 k     2.5 k         0         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00
   Beendet: Donnerstag, 20. Juli 2023 12:21:58


d:\tmp>robocopy d:\tmp\adressen d:\tmp\adressen-neu test1.txt /TEE /MIR /COPYALL /SECFIX

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Donnerstag, 20. Juli 2023 12:21:59
   Quelle : d:\tmp\adressen\
     Ziel : d:\tmp\adressen-neu\

    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /R:1000000 /W:30

------------------------------------------------------------------------------

                           1    d:\tmp\adressen\

------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         0         1         0         0         0
    Bytes:     2.5 k         0     2.5 k         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00
   Beendet: Donnerstag, 20. Juli 2023 12:21:59


d:\tmp>robocopy d:\tmp\adressen d:\tmp\adressen-neu test1.txt /TEE /MIR /COPYALL /SECFIX

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows
-------------------------------------------------------------------------------

  Gestartet: Donnerstag, 20. Juli 2023 12:22:00
   Quelle : d:\tmp\adressen\
     Ziel : d:\tmp\adressen-neu\

    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /R:1000000 /W:30

------------------------------------------------------------------------------

                           1    d:\tmp\adressen\
              Geändert              2642        TEST1.TXT

------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         1         0         0         0         0
    Bytes:     2.5 k     2.5 k         0         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00


Geschwindigkeit:             2642000 Bytes/Sek.
Geschwindigkeit:             151.176 Megabytes/Min.
   Beendet: Donnerstag, 20. Juli 2023 12:22:00


d:\tmp>

Jetzt mit /DEBUG (Auszug):


    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /DEBUG /R:1000000 /W:30

------------------------------------------------------------------------------

\\?\d:\tmp\adressen\TEST1.TXT: Create: 1cf62fe965ccc25 LastA: 1d5942c35e794ec LastWr: 1c4bf0b2769b10
0 Change: 1d7c74afa76ac8e

\\?\d:\tmp\adressen-neu\TEST1.TXT: Create: 1cf62fe965ccc25 LastA: 1d5942c35e794ec LastWr: 1c4bf0b276
9b100 Change: 1d9baf52251d527

                           1 -----N----D--      \\?\d:\tmp\adressen\
FindNextFile() Difference = - 15260h:45m:11.5374745s    d:\tmp\adressen\TEST1.TXT

                        SR GROUP OWNER DACL SACL - SECURITY_DESCRIPTOR_CONTROL
                             D     D   PIDP PIDP
                        SR   -     -   YI-- n--- - Source

              Geändert              2642 -A---N-------  TEST1.TXT

                        SR GROUP OWNER DACL SACL - SECURITY_DESCRIPTOR_CONTROL
                             D     D   PIDP PIDP
                        SR   -     -   YI-- n--- - Source


------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         1         0         0         0         0
    Bytes:     2.5 k     2.5 k         0         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00

    Dateien : test1.txt

  Optionen: /TEE /S /E /COPYALL /SECFIX /PURGE /MIR /DEBUG /R:1000000 /W:30

------------------------------------------------------------------------------

\\?\d:\tmp\adressen\TEST1.TXT: Create: 1cf62fe965ccc25 LastA: 1d5942c35e794ec LastWr: 1c4bf0b2769b10
0 Change: 1d7c74afa76ac8e

\\?\d:\tmp\adressen-neu\TEST1.TXT: Create: 1cf62fe965ccc25 LastA: 1d5942c35e794ec LastWr: 1c4bf0b276
9b100 Change: 1d7c74afa76ac8e

                           1 -----N----D--      \\?\d:\tmp\adressen\

                        SR GROUP OWNER DACL SACL - SECURITY_DESCRIPTOR_CONTROL
                             D     D   PIDP PIDP
                        SR   -     -   YI-- n--- - Source


                        SR GROUP OWNER DACL SACL - SECURITY_DESCRIPTOR_CONTROL
                             D     D   PIDP PIDP
                        SR   -     -   YI-- n--- - Source


------------------------------------------------------------------------------

           Insgesamt   KopiertÜbersprungenKeine Übereinstimmung    FEHLER    Extras
Verzeich.:         1         0         0         0         0         0
  Dateien:         1         0         1         0         0         0
    Bytes:     2.5 k         0     2.5 k         0         0         0
   Zeiten:   0:00:00   0:00:00                       0:00:00   0:00:00
   Beendet: Donnerstag, 20. Juli 2023 12:29:59

rsync:

Aus einem der folgenden Gründe kann nicht auf die Datei "" zugegriffen werden: Es besteht ein Problem mit der Netzwerkverbindung, dem Datenträger mit der gespeicherten Datei bzw. den auf dem Computer installierten Speichertreibern, oder der Datenträger fehlt. Das Programm rsync.exe wurde wegen dieses Fehlers geschlossen.  

Programm: rsync.exe


Name der fehlerhaften Anwendung: rsync.exe, Version: 0.0.0.0, Zeitstempel: 0x63a4292b
Name des fehlerhaften Moduls: ntdll.dll, Version: 6.3.9600.20302, Zeitstempel: 0x62157684
Ausnahmecode: 0xc000007b
Fehleroffset: 0x00000000000ed1b0
ID des fehlerhaften Prozesses: 0x1988
Startzeit der fehlerhaften Anwendung: 0x01d9baf934fd8fe3
Pfad der fehlerhaften Anwendung: C:\Program Files (x86)\Git\usr\bin\rsync.exe
Pfad des fehlerhaften Moduls: C:\Windows\SYSTEM32\ntdll.dll
Berichtskennung: 745c09b7-26ec-11ee-82ba-d05099950224
Vollständiger Name des fehlerhaften Pakets: 
Anwendungs-ID, die relativ zum fehlerhaften Paket ist: 

Content-ID: 7905641807

Url: https://administrator.de/contentid/7905641807

Ausgedruckt am: 05.11.2024 um 06:11 Uhr

kreuzberger
kreuzberger 20.07.2023 um 13:58:46 Uhr
Goto Top
Mahlzeit,

du kannst mit robocpy die „Monitoring“-Funktion nutzen. Das überwacht deinen Quellordner dauerhaft, und kopiert immer dann die neuen oder veränderten Daten, wenn die anfallen auf ein Ziel.

https://learn.microsoft.com/de-de/windows-server/administration/windows- ...


/mon:<n> Überwacht die Quelle und wird erneut ausgeführt, wenn mehr als n Änderungen erkannt werden.

/mot:<m> Überwacht die Quelle und wird in m Minuten erneut ausgeführt, wenn Änderungen erkannt werden.

In Verbindung mit dem Schalter /MIR wird somit aktuell ein Spiegel deiner Daten auf der SMB-Fraigabe gehalten.

rsync ist in Windows nicht enthalten und müsste extra nachinstalliert werden.

Kreuzberger
mayho33
mayho33 21.07.2023 aktualisiert um 10:02:23 Uhr
Goto Top
Hi,

Also normalerweise kopiert RC ad hoc incrementell. Ich verwende es schon seit Jahren und noch nie habe ich etwas anderes beobachtet.

Die einzelnen Parameter verursachen je nach Version leicht unterschiedliche Verhalten. Seit w10 ist aber alles konsistent.

https://learn.microsoft.com/de-de/windows-server/administration/windows- ...

Wenn du /secfix verwendest, wird die ACL des Ziels übereschrieben. Eventuell ändert sich was an der Quelle? Hast du das schon geprüft?