Was ist Robocopy?
Robocopy ist ein mächtiges Kommandozeilen-Kopier-Programm. Es dient dazu, inkrementelle Backups von einem Ort an einem anderen zu erstellen. Die Handhabung mag anhand der unzähligen, teils kryptisch anmutenden Parameter etwas umständlich erscheinen. Ein einfaches Backup Ihrer wichtigsten Daten lässt sich trotzdem in sehr kurzer Zeit bewerkstelligen, da es reicht, einen Bruchteil dieser Parameter zu kennen. Über den Taskplaner bzw. die Aufgabenplanung können die Synchronisationsvorgänge sogar automatisiert werden.
Wie bereits gesagt, arbeitet Robocopy inkrementell. Es werden also nur neue oder geänderte Dateien berücksichtigt, was den Kopiervorgang um ein Vielfaches beschleunigen kann. Als Grundlage für diese Entscheidung dienen Robocopy zum einen der Zeitpunkt der letzten Änderung der Datei und zum anderen die Größe der Datei.
Vorteile von Robocopy gegenüber copy und xcopy
Viele Anwender werden sich nun fragen: Wozu brauche ich Robocopy? Ich habe doch copy und xcopy. Diese zwei Tools sind zwar für viele alltägliche Kopiervorgänge die richtigen, wenn es jedoch darum geht, ein inkrementelles Backup anzulegen, versagen beide. Copy kann nur Inhalte der obersten Ebene kopieren und berücksichtigt Unterordner überhaupt nicht. Xcopy kann mit dem Parameter /s zwar auch Unterordner und deren Dateien berücksichtigen, jedoch keine inkrementelle Kopie anfertigen. So dauert ein Kopiervorgang, der mehrere GB an Daten beinhaltet, immer sehr lange, da grundsätzlich alle Dateien erneut kopiert werden. Außerdem werden keinerlei Dateien im Archivordner gelöscht, auch wenn sie im Quellordner nicht mehr vorhanden sind. Hier kommt Robocopy ins Spiel.Robocopy berücksichtigt neue, geänderte und auch gelöschte Dateien. Dabei ist jedoch Vorsicht geboten. Wenn Sie im Quellordner versehentlich eine Datei gelöscht haben und danach Ihr Backup aktualisieren, wird diese Datei auch in Ihrem Backup nicht mehr vorhanden sein, da Robocopy nicht mehr vorhandene Dateien der Quelle ohne Nachfrage auch im Ziel löscht.
Wie lege ich ein Backup an?
Prinzipiell benötigen Sie zum Anlegen eines Backups nur einen einzigen Parameter von Robocopy. Dieser Parameter lautet /MIR (Mirror). /MIR legt eine Spiegelung der Struktur der Quelle in einem von Ihnen vorgegebenen Archiv-Ordner an. /MIR besteht eigentlich aus zwei Parametern von Robocopy. /E und /PURGE. /E kopiert alle vollen und auch leeren Unterverzeichnisse, /PURGE löscht alle Dateien im Zielordner, die in der Quelle nicht mehr vorhanden sind. Die Struktur des Befehls muss aussehen wie folgt:
|
1 |
robocopy [fusion_builder_container hundred_percent="yes" overflow="visible"][fusion_builder_row][fusion_builder_column type="1_1" background_position="left top" background_color="" border_size="" border_color="" border_style="solid" spacing="yes" background_image="" background_repeat="no-repeat" padding="" margin_top="0px" margin_bottom="0px" class="" id="" animation_type="" animation_speed="0.3" animation_direction="left" hide_on_mobile="no" center_content="no" min_height="none"][Quelle] [Ziel] /MIR |
Falls Ihre Pfade Leerzeichen enthalten, muss der Pfad in Anführungszeichen gesetzt werden. Konkretes Beispiel. Sie wollen den Inhalt des Ordners C:\Meine Musik in den Ordner D:\Backup\Meine Musik spiegeln. Dazu muss der Befehl lauten:
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /MIR |
Dieser Befehl kann sowohl zum erstmaligen Anlegen eines Backups verwendet werden als auch für die nachfolgenden Aktualisierungen. Standardmäßig ergänzt Robocopy diese Eingabe um weitere Parameter. So wird aus unserer Befehlszeile von Robocopy folgender Befehl generiert:
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /S /S /COPY:DAT /PURGE /MIR /R:1000000 /W:30 |
Die Filterfunktionen /XF /XD
Bisher werden in unserem Beispiel-Backup alle Dateien und Unterordner kopiert. Jedoch kann es auch schon mal nötig sein, Verzeichnisse oder Dateien vom Backup auszuschließen. Auch hier gibt es entsprechende Parameter. /XF exkludiert Dateien oder Dateitypen, die von Ihnen angegeben werden können. Auch Wildcards werden hier unterstützt. Nehmen wir für unser Beispiel an, Sie möchten keine Playlists in Ihr Backup aufnehmen. Die Playlisten haben das Format m3u. Unsere Befehlszeile müsste also lauten wie folgt:
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /MIR /XF *.m3u |
Um komplette Ordner aus dem Backup auszuschließen, wird der Parameter /XD benötigt. Für unser Beispiel existiert im Ordner C:\Meine Musik der Unterordner mit dem Namen Dokumente. Die Befehlszeile, um den Ordner Dokumente nicht mit einzuschließen, müsste lauten:
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /MIR /XD "C:\Meine Musik\Madonna" |
Eine Kombination der beiden Parameter ist natürlich auch möglich, damit weder die Playlisten noch der Ordner Dokumente kopiert werden.
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /MIR /XF *.m3u /XD "C:\Meine Musik\Madonna" |
Die Probierfunktion /L
Für alle, die erst einmal sehen möchten, was genau passieren würde, wenn Sie Robocopy mit den von Ihnen angegebenen Befehlen laufen lassen würden, bietet Robocopy eine Probierfunktion. Mit dem Parameter /L wird nur angezeigt, was Robocopy im Fall der Fälle tun würde. Ausgehend von unserem Beispiel müsste die Befehlszeile nun so aussehen:
|
1 |
robocopy "C:\Meine Musik" "D:\Backup\Meine Musik" /MIR /XF *.m3u /XD "C:\Meine Musik\Madonna" /LOG+:C:\Logs\musik.log /L |
Ausgewählte Optionen im Überblick
| Option | Beschreibung |
|---|---|
| /E | kopiert Unterverzeichnisse, auch die leeren |
| /PURGE | löscht Dateien und Verzeichnisse im Ziel, die in der Quelle nicht mehr existieren |
| /MIR | Spiegelung anlegen – Zusammenfassung von /E und /PURGE |
| /MON:n | nach n Änderungen wird Robocopy automatisch wieder aktiv |
| /MOT:n | nach n Minuten wird Robocopy automatisch wieder aktiv |
| /RH:hhmm-hhmm | Zeitraum, in dem Robocopy aktiv wird |
| /XF | bestimmte Dateitypen von der Spiegelung ausschließen |
| robocopy „C:\quelle“ „D:\ziel“ /MIR /XF *.mp3 | alle MP3 Dateien werden nicht kopiert |
| /XD | bestimmte Verzeichnisse von der Spiegelung ausschließen |
| robocopy „C:\quelle“ „D:\ziel“ /MIR /XF *.mp3 /XD „D:\ziel\privat“ | alle MP3 Dateien werden nicht kopiert und der Ordner D:\ziel\privat werden nicht kopiert |
| /L | den Probiermodus von Robocopy aktivieren: sehen was passieren würde… |
| /LOG: | bei jedem Syncvorgang eine neue Logdatei anlegen lassen |
| /LOG+: | eine bestehende Logdatei fortführen |
| /TEE | Informationen sowohl auf dem Bildschirm als auch in der Logdatei ausgeben |
| /maxlad:20111015 | kopiert nur Dateien, die seit dem 15.10.2011 benutzt worden sind |
| /maxage:20091012 | kopiert nur Dateien, die seit dem 12.10.2009 verändert oder erstellt worden sind |
| /maxage:14 | kopiert nur Dateien, die in den letzten 14 Tagen erstellt oder verändert wurden |
| /B | Der Backup-Schalter ermöglicht es Robocopy, geöffnete Dateien zu kopieren |
| /SEC | Kopieren Sie die Dateien mit NTFS Sicherheitseinstellungen. |
[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]