Robocopy sehr langsam, auch wenn ich nichts kopiere und nur eine Liste erstelle (/L)

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    Robocopy sehr langsam, auch wenn ich nichts kopiere und nur eine Liste erstelle (/L)

    Ich möchte ein Backup mit dem Befehl "robocopy" erstellen.

    Ich habe ein lokales Verzeichnis mit mehreren Junction-Points (die alle auf die verschiedenen Ordner verweisen, die ich sichern möchte) und ein Netzlaufwerk erstellt, welches eine SMB-Freigabe im Internet ist (Cloud-Hosting-Anbieter).

    Ich verwende diesen Befehl:

    robocopy D:\backup\ M:\ /COPY:DAT /DCOPY:DAT /MIR /COMPRESS /R:2 /W:1 /UNICODE /FFT /DST /UNILOG:D:\backup.log /TEE /L

    Dies listet nur die Dateien auf, die synchronisiert werden sollen. Es dauert mehr als 25 Minuten. Die gleiche Synchronisierung mit "TotalCommander" dauert nur 6 Minuten. Es sind 212.142 Dateien.

    Ist das normal für robocopy? Oder ist eine Optimierung möglich?
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Heute getestet. Es dauerte nun über 37 Minuten. Muss aber nichts mit dem /J-Schalter zu tun haben. In meinen Augen eigentlich logisch, dass es damit nicht schneller wird, denn es wird nichts geschrieben, da ich nur die Vorschau anzeigen lasse.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Hallo.

    Auch wenn das nicht direkt zum Thema gehört, würde ich in deinem Fall bei Total-Commander bleiben, wenn es geht.
    Ich habe RoboCopy mit SMB-FileShare eingesetzt, und das hat fehlerhafte Datenmengen angezeigt (insbesondere freier Platz),
    und hat zum Ausfall der Festplatte geführt.
    4 Tage für eine Datenrettung (erfolgreich), also 1 TB pro Tag zum Wiederherstellen der Daten.

    Ich habe dann RoboCopy in Kombination mit FileShare aufgegeben.
    Eine andere Lösung habe ich nicht gefunden, außer Festplatten Image-Programme (Backups).

    Wünsche viel Upload Geschwindigkeit und sichere Daten.

    c.u. Joshi aus HH, bald mit neuem intellenz Verstärker... 8-)
    /MT werde ich versuchen, allerdings liest sich die Hilfe bei Microsoft so, dass dieser Schalter nur in den Server-Versionen von Windows funktioniert.

    Ich experimentiere gerade noch mit einem Aufruf von Rsync via Cygwin über meine Backup-Batch-Datei. Bisher hat's noch nicht hingehauen. Zur Not wird's der Total Commander.

    Ich danke euch soweit, ich melde mich bei neuen Erkenntnissen.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Bei mir unter Windows 10 gibt robocopy /? auch /MT als Parameter aus. Aber unter learn.microsoft.com/de-de/wind…windows-commands/robocopy steht:

    Hinweis
    Der Parameter /mt wurde in Windows Server 2008 R2 eingeführt und seine Funktionalität gilt für aktuelle Versionen von Windows Server.

    Ich glaube, ich hatte den Parameter gestern bei meinem 37-Minuten-Test schon aktiv (habe ihn auf jeden Fall in meiner Batch-Datei drin). Aber ich teste es nochmal ganz in Ruhe.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich habe es nun mit /MT getestet. Ich dachte zwar, ich hätte es schon damit getestet, aber anscheinend nicht. Gestern, nach frischem Systemneustart, 212.173 Dateien (insgesamt, auch unveränderte) in 05:59 Minuten geprüft. Neuer Neustart (um eventuelle Caches zu leeren) und mit dem TC getestet: 15:43 Minuten (plötzlich viel länger)! Komischerweise wollte der TC 164.261 Dateien, 257 GB kopieren, Robocopy 159.098, 239 GB (also viel weniger).

    Heute neuer Test, wieder mit Neustarts, aber /FFT /DST weggemacht, weil im Vergleich zum TC Dateien fehlten:
    Robocopy: 177.426 Dateien, 283 GB, 02:27 Minuten
    Total Commander: 164.262 Dateien, 257 GB, 13:44 Minuten

    Zwischen beiden Tests (also heute und gestern) haben sich streng genommen keine Dateien verändert, aber wenn dann maximal 5 Stück. Zwischen den Tests RC/TC definitiv gar keine. Trotzdem diese Unterschiede. Bei den zu löschenden Elementen sind beide Programme an beiden Tagen identisch.

    Schnell ist RC jetzt durch Multi-Threading. Aber so ganz geheuer ist mir das nicht mit den Unterschieden. Ich werde nun mal Rsync probieren.
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Ich mache es jetzt via rsync. Der Geschwindigkeitsvorteil ist enorm. Zumindest beim Vergleichen. Aber ich gehe davon aus, dass das Hochladen auch schneller ist, da auf der Gegenseite ein rsync-Server ist.

    Hier meine Testdaten, vielleicht mal für jemanden relevant:

    Quellcode

    1. rsync:
    2. Insgesamt: 225850
    3. Dateien: 212179
    4. Ordner: 13658
    5. Links: 13
    6. Kopiert: 164193
    7. Dateien: 159017
    8. Ordner: 5163
    9. Gelöscht: 608 (570/38)
    10. Größe: 257,66 GB
    11. Dauer: 0:56 min
    12. Total Commander:
    13. Insgesamt: ?
    14. Dateien: 212762
    15. Ordner: ?
    16. Links: ?
    17. Kopiert: 164270
    18. Dateien: 159677
    19. Ordner: ?
    20. Gelöscht: 608 (?/?)
    21. Größe: 257,66 GB
    22. Dauer: 16:04 min
    23. Robocopy:
    24. Insgesamt: 225842
    25. Dateien: 212184
    26. Ordner: 13658
    27. Links: ?
    28. Kopiert: 172765
    29. Dateien: 159107
    30. Ordner: 13658
    31. Gelöscht: 608 (570/38)
    32. Größe: 240 GB
    33. Dauer: 04:56

    Was die Anzahl der Elemente angeht: die Programme rechnen unterschiedlich, was die Unterscheidung zwischen Dateien, Ordnern und Links angeht, und teilweise sind die zu löschenden Elemente mit in der Gesamtzahl drin, teilweise nicht. Rechnet man hin und her, so kommt man im Prinzip auf dieselben Zahlen. Einzig und allein Robocopy vergisst anscheinend bei mir genau 8 Dateien mit einer Größe von 17 GB insgesamt. Aber rauszufinden, welche das sind, erscheint mir unmöglich. Da hätte ich quasi erst mit Robocopy syncen müssen, bevor ich das mit den anderen Tools gegenprüfe. Vielleicht kommt der 17-GB-Unterschied aber auch durch die aktivierte Kompression bei Robocopy. Trotzdem fehlen 8 Dateien laut Zahlen.

    Meine finale Zeile sah übrigens so aus: robocopy D:\backup\ M:\ /COPY:DAT /DCOPY:DAT /MIR /COMPRESS /R:2 /W:1 /UNICODE /ZB /J /MT /FFT /DST /UNILOG:D:\backup.log /TEE /L (wobei /UNILOG:D:\backup.log /TEE /L nur zum vorherigen Debuggen ist).

    rsync über eine Windows-Batchdatei via Cygwin: "C:\cygwin64\bin\mintty.exe" -h always /bin/bash -l -c "sshpass -p 'PASSWORT' rsync -ahEA4zXHk --numeric-ids --stats --progress --ignore-errors --delete --delete-excluded -e 'ssh -p23' /cygdrive/d/backup/ USER@example.com:/home/backup/" (erfordert die Komponenten rsync, openssh und sshpass).
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()