
37414
09.05.2020
Robocopy Synchronisation ergibt Fehlermeldung
Hallo,
ich habe schon einige Sicherungen mit Robocopy gemacht.
Nun möchte ich 2 externe Festplatten miteinander synchronisieren.
Die Festplatten enthalten meine komplette Musiksammlung.
Eine hängt an einem Raspberry und ich greife per Tablet auf die Musik zu.
Die andere ist lediglich eine Backup-Platte... eben mit der Sicherung dieser Musik.
Ich synchronisiere beide ab und zu mit dem Programm "Synchredible". Hier hat der Vertreiber jedoch nun einen Fallstrick eingebaut, sodass die Sicherung nun häufig abbricht.
Deshalb wollte ich die Synchronisation nun per Robocopy durchführen.
Zur Erklärung:
- Die Hauptfestplatte, die am Raspi hängt, ist Laufwerk "H". Die Datenverzeichnisse liegen direkt darunter
- Die Backupfestplatte ist Laufwerk "G" und die gesicherten Daten liegen im Unterverzeichnis "Musik Name - komplett" (wobei im Original bei "Name" mein Name steht
Hier meine Robocopy-Batch:
Führe ich diese Batch aus, erscheint folgende Fehlermeldung:
Irgendwie ist da im CMD-Fenster was mit den Verzeichnissen total durcheinander gekommen.
Bei "QUELLE" wurde irgendwie Quelle + Ziel zusammengefaßt... aber auch nur Teile des Pfades.
Auch die Log-Datei, die im Verzeichnis "BACKUP" auf dem Desktop gespeichert werden soll, taucht im CMD-Fenster bei "ZIEL" auf.
Werdet Ihr schlau daraus?
Und... wo ist der Fehler?
Danke und Gruß,
imebro
ich habe schon einige Sicherungen mit Robocopy gemacht.
Nun möchte ich 2 externe Festplatten miteinander synchronisieren.
Die Festplatten enthalten meine komplette Musiksammlung.
Eine hängt an einem Raspberry und ich greife per Tablet auf die Musik zu.
Die andere ist lediglich eine Backup-Platte... eben mit der Sicherung dieser Musik.
Ich synchronisiere beide ab und zu mit dem Programm "Synchredible". Hier hat der Vertreiber jedoch nun einen Fallstrick eingebaut, sodass die Sicherung nun häufig abbricht.
Deshalb wollte ich die Synchronisation nun per Robocopy durchführen.
Zur Erklärung:
- Die Hauptfestplatte, die am Raspi hängt, ist Laufwerk "H". Die Datenverzeichnisse liegen direkt darunter
- Die Backupfestplatte ist Laufwerk "G" und die gesicherten Daten liegen im Unterverzeichnis "Musik Name - komplett" (wobei im Original bei "Name" mein Name steht
Hier meine Robocopy-Batch:
@ echo off &setlocal
REM Mit dieser Datei werden die Musikdateien gesichert.
robocopy "H:\" "G:\Musik Name - komplett" /MIR /COPYALL /V /NP /MT:4 /R:3 /W:10 /TEE /LOG:"D:\Desktop\BACKUP\Robocopy-Logs\Musik_LOG.txt"
echo.
echo.
echo. * Mit ENTER wird der Sicherungsvorgang gestartet *
pause > NUL
echo.
echo.
:EOF
Führe ich diese Batch aus, erscheint folgende Fehlermeldung:
Irgendwie ist da im CMD-Fenster was mit den Verzeichnissen total durcheinander gekommen.
Bei "QUELLE" wurde irgendwie Quelle + Ziel zusammengefaßt... aber auch nur Teile des Pfades.
Auch die Log-Datei, die im Verzeichnis "BACKUP" auf dem Desktop gespeichert werden soll, taucht im CMD-Fenster bei "ZIEL" auf.
Werdet Ihr schlau daraus?
Und... wo ist der Fehler?
Danke und Gruß,
imebro
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 570703
Url: https://administrator.de/forum/robocopy-synchronisation-ergibt-fehlermeldung-570703.html
Ausgedruckt am: 05.04.2025 um 22:04 Uhr
9 Kommentare
Neuester Kommentar
Quelle kann sein:
aber nicht
Dasselbe gilt natürlich auch für das Ziel.
Steffen
H:
oderH:\
oder"H:"
oder"H:\\"
oder"H:\."
aber nicht
"H:\"
oder irgendein anderer Pfad der auf \"
endet, da die Standard Tokenizer, die üblicherweise in C oder C++ Programmen herangezogen werden, das "Feature" haben, Anführungszeichen die durch einen Backslash escaped wurden, im Argument beizubehalten, während alle anderen Anführungszeichen entfernt werden. Anders gesagt, enthält deine Quellangabe nun ein Anführungszeichen, das es in der Realität nicht gibt und nicht mal geben kann, da es zu den Zeichen gehört, die unter Windows in Pfaden und Dateinamen nicht erlaubt sind. Eine Verdopplung des Backslashes wie im 4. Beispiel, hebt dieses Verhalten auf.Dasselbe gilt natürlich auch für das Ziel.
Steffen
Moin,
Dadurch ergeben sich noch weitere Fallstricke, da Du die Backup-Batch (offenbar) im User-Kontext ausführst.
Erstmal die Kommandozeile, die entsprechend den Ausführungen meines Vorredners funktioniert:
allerdings benötigst Du für die /COPYALL Option erhöhte Rechte, wenn Du die Batch aber als Administrator ausführst, hast Du in dem Kontext das (vermeintliche) Netzlaufwerk H: nicht mehr.
Ich würde eventuell komplett auf UNC-Pfade umsteigen und anstatt "H:" als Quelle "\\<RASPI-IP oder HOSTNAME>\<Freigabe>" setzen. Dafür brauch der Administrator natürlich Zugriffsrechte auf die Freigabe am Raspi.
Alternativ kann man natürlich /COPYALL auch weglassen und die Batch im Userkontext ausführen.
Wobei alles ab Zeile 7 in Deiner Batch unnötig ist, der Backup-Vorgang läuft da bereits (bevor die Abfrage ausgeführt wird).
Gruß
cykes
Zur Erklärung:
- Die Hauptfestplatte, die am Raspi hängt, ist Laufwerk "H". Die Datenverzeichnisse liegen direkt darunter
- Die Backupfestplatte ist Laufwerk "G" und die gesicherten Daten liegen im Unterverzeichnis "Musik Name - komplett" (wobei im Original bei "Name" mein Name steht
Da Du nicht genau gesagt hast, wie die Laufwerke G: und H: eingehängt sind, gehe ich jetzt mal davon aus, dass H: ein Netzlaufwerk per SMB ist und G: ein lokales Laufwerk an Deinem PC.- Die Hauptfestplatte, die am Raspi hängt, ist Laufwerk "H". Die Datenverzeichnisse liegen direkt darunter
- Die Backupfestplatte ist Laufwerk "G" und die gesicherten Daten liegen im Unterverzeichnis "Musik Name - komplett" (wobei im Original bei "Name" mein Name steht
Dadurch ergeben sich noch weitere Fallstricke, da Du die Backup-Batch (offenbar) im User-Kontext ausführst.
Erstmal die Kommandozeile, die entsprechend den Ausführungen meines Vorredners funktioniert:
robocopy "H:" "G:\Musik Name - komplett" /MIR /COPYALL /V /NP /MT:4 /R:3 /W:10 /TEE /LOG:"D:\Desktop\BACKUP\Robocopy-Logs\Musik_LOG.txt"
Ich würde eventuell komplett auf UNC-Pfade umsteigen und anstatt "H:" als Quelle "\\<RASPI-IP oder HOSTNAME>\<Freigabe>" setzen. Dafür brauch der Administrator natürlich Zugriffsrechte auf die Freigabe am Raspi.
Alternativ kann man natürlich /COPYALL auch weglassen und die Batch im Userkontext ausführen.
Wobei alles ab Zeile 7 in Deiner Batch unnötig ist, der Backup-Vorgang läuft da bereits (bevor die Abfrage ausgeführt wird).
Gruß
cykes
Hi,
Ich würde den UNC-Pfad nehmen.

Gruß
cykes
Zur Erklärung:
- Die ext. USB-Festplatte (H: ) hängt direkt am Raspberry und enthält alle Musikdateien
Ok, da der Raspi aber unter Linux läuft, hat die Platte - solange sie am Raspi hängt - keinen Laufwerksbuchstaben (weder H noch irgendwas anderes). Lufwerksbuchstabn existieren unter Linux nicht. H: bekommt sie vermutlich nur, wenn Du die Platte an Dein Laptop/PC anklemmst.- Die ext. USB-Festplatte (H: ) hängt direkt am Raspberry und enthält alle Musikdateien
- Die Backup-Festplatte (G: ) wird zum Backup ans Laptop angehängt.
Passt soweit. So hatte ich es ja auch verstanden.- Ich kann auf meine Musikdateien auf VOLUMIO über den Raspberry PI3 auch zugreifen über ein gemountetes Laufwerk.
- Diesem habe ich den Laufwerksbuchstaben "V" gegeben (für Volumio).
- Der Pfad dahin ist "\\volumio\USB". Ich denke mal, dass Du (cykes) diese Angabe gemeint hast.
Das hatte ich mit UNC-Pfad gemeint, H: kannst Du in Deiner Batch nicht verwenden (s.o.), alternativ geht natürlich V: oder eben der UNC-Pfad.- Diesem habe ich den Laufwerksbuchstaben "V" gegeben (für Volumio).
- Der Pfad dahin ist "\\volumio\USB". Ich denke mal, dass Du (cykes) diese Angabe gemeint hast.
Ich würde den UNC-Pfad nehmen.
- Der Zugriff über den Browser geht über die Eingabe "http://volumio.local/browse".
Der ist für Deine Batch irrelevant.Eine Sicherung direkt über den Raspi wäre natürlich ERHEBLICH angenehmer, da ich ansonsten immer den Raspi zuerst herunterfahren muss, um dann die ext. USB-Festplatte abhängen zu können. Danach müßte ich sie dann ans Laptop anhängen. - zusammen mit der Backup-Festplatte.
Genau das hatte ich vermutet, ist natürlich umständlich und nicht nötig. Wobei natürlich das Musikstreaming während des Backups ggf. etwas leiden könnte (Unterbrechungen etc.)Das mit der Ausführung als Administrator und die Angaben bezüglich /COPYALL habe ich (noch) nicht verstanden...
Ich habe kürzlich etwas über die Angabe "/ZB" gelesen. Vielleicht würde das die Sicherung vereinfachen??
/COPYALL kopiert auch Besitzer und Zugriffsrechte (ACLs) vollständig mit, für das Backup brauchst Du das eigentlich nicht. COPYALL geht aber nur als Administrator und wird auch bei der Platte am Raspi wenig bringen, lass es einfach weg, würde ich empfehlen.Ich habe kürzlich etwas über die Angabe "/ZB" gelesen. Vielleicht würde das die Sicherung vereinfachen??
Im Moment sieht meine Batch so aus:
[...]
Nach wie vor bringt alles ab Zeile 10 nix, der Kopiervorgng läuft da bereits. Die Abfrage mit ENTER ergibt somit keinen Sinn, außer dass nach Beendigung des Backups nochmal die Batch angehalten wird -> unnötig. [...]
Gruß
cykes

Zitat von @37414:
Soweit ich weiß, wird die von mir erstellte Robocopy-Batch ja dann auch immer nur die veränderten, bzw. neuen Dateien sichern.
Ist das korrekt so?
Logisch, das ist ja der Vorteil zu xcopy & co.Soweit ich weiß, wird die von mir erstellte Robocopy-Batch ja dann auch immer nur die veränderten, bzw. neuen Dateien sichern.
Ist das korrekt so?
https://de.wikibooks.org/wiki/Datensicherung/_Werkzeuge/_Kopieren/_ROBOC ...
Vergleich mit dem Zielverzeichnis
Im Unterschied zu COPY und XCOPY vergleicht ROBOCOPY jede zu kopierende Datei mit dem Zielverzeichnis. Falls es im Ziel eine identische Datei gibt, wird sie übersprungen. Die Zeitersparnis ist beträchtlich.