Robocopy: Robustes Windows-Tool für sichere Backups
Robocopy gehört seit Windows Vista zur Grundausstattung von Windows. Das beliebte Tool, das vor allem Systemadministratoren und IT-Profis schätzen, gilt als besonders robust und zuverlässig. Kopieraktionen, die andere Tools überfordern oder die aufgrund von Fehlern abgebrochen werden, kann Robocopy unter Windows 10 oft noch erfolgreich durchführen.
- Inklusive Wildcard-SSL-Zertifikat
- Inklusive Domain Lock
- Inklusive 2 GB E-Mail-Postfach
Was ist Robocopy?
Robocopy ist ein Windows-Tool, das auf Kopiervorgänge und Backups spezialisiert ist. Gesteuert wird das Programm mit speziellen Befehlen und Parametern, die in der Eingabeaufforderung von Windows eingegeben werden. Weniger versierte Windows-Nutzer müssen allerdings nicht zwingend auf die Kommandozeile (cmd.exe) zurückgreifen. Alternativ gibt es spezielle Software, die die Bedienung vereinfacht und für die Nutzung von Robocopy eine grafische Oberfläche zur Verfügung stellt. Ein Beispiel ist das kostenlose GUI-Tool RoboMirror.
Unter den bordeigenen Kopierwerkzeugen von Windows ist Robocopy das vielseitigste Tool – gefolgt von xcopy, das noch etwas leistungsstärker ist als das ebenfalls in Windows enthaltene Programm copy. Insgesamt 72 Parameter lassen kaum Wünsche offen, nahezu jede erdenkliche Datensicherung lässt sich über Robocopy mit maßgeschneidertem Code umsetzen. Dabei kann das Programm sogar inkrementelle Backups erstellen, die auf Komplettsicherungen verzichten und bei regelmäßigen Durchläufen nur neuere Änderungen sichern. Die platzsparende Sicherungsmethode belastet etwa bei Backups im Netzwerk oder in der Cloud die Bandbreite und die Ressourcen nicht so stark.
Für sichere und automatische Backups in der Cloud können Sie auch professionelle Anbieter nutzen, die kostengünstig ausreichend Speicherplatz zur Verfügung stellen.
Zudem ist das Tool in der Lage, mit nur wenig Code ganze Verzeichnisstrukturen zu spiegeln, also auch Unterverzeichnisse in Kopieraktionen und Backups einzuschließen. Mit dieser Funktionsvielfalt kann das codebasierte Tool optimal andere Backup-Routinen ergänzen, die sich beispielsweise auf die Erstellung eines Windows-10-Backup konzentrieren. Es kann zudem bei Server-Backups als Ergänzung oder Alternative zu rsync genutzt werden.
Funktionsvielfalt und Flexibilität von Robocopy-Backups erschließen sich einem allerdings erst nach einer gewissen Einarbeitungsphase. Gerade Anfänger müssen sich zu Beginn intensiver mit dem Programm beschäftigen, selbst wenn sie ein GUI-Tool mit einer grafischen Bedienoberfläche nutzen. Erst dann können sie effizient Backups durchführen und das beeindruckende Potenzial von Robocopy unter Windows 10 voll ausschöpfen. Einfache Kopieraufgaben können aber auch Anfänger zügig mit relativ übersichtlicher Befehlssyntax erstellen. Bei der Verwendung von Robocopy ist allerdings Vorsicht geboten. Andernfalls können bei der Anwendung Dateien auch versehentlich gelöscht oder überschrieben werden.
Die Befehlssyntax für Robocopy-Backups
Wie alle Kommandozeilen-Tools von Windows 10 benötigt auch Robocopy eine spezielle Befehlssyntax, um bestimmte Aufgaben erfüllen zu können. Der grundlegende Aufbau der Syntax sieht so aus:
robocopy <source> <destination> [<file>[...]] [<options>]
Der Parameter „source“ gibt den Pfad zum Quellverzeichnis an. Den Pfad zum Zielverzeichnis der jeweiligen Kopieraktion definiert der Parameter „destination“. Beim Parameter „file“, der die zu kopierenden Dateien angibt, sind auch Platzhalter erlaubt. Geben sie *.* anstelle eines konkreten Dateinamens ein, werden alle Dateien im Quellverzeichnis (ohne Unterverzeichnisse) kopiert. Sollen alle Dateien eines bestimmten Dateityps erfasst werden, kann ein Asterisk mit dem Dateityp kombiniert werden. Beispielsweise werden ausschließlich aktuelle Word-Dateien mit der Dateiendung „.docx“ mit folgender Syntax kopiert:
robocopy <Quellverzeichnis> <Zielverzeichnis> *.docx
Am Ende eines Kopierbefehls kann die Syntax noch durch weitere Optionen ergänzt werden. So kann man unter anderem gezielt festlegen, wie häufig ein Kopierversuch bis zur erfolgreichen Ausführung wiederholt werden soll. Außerdem lässt sich die Wartezeit zwischen den Wiederholungsversuchen definieren. Solche Steuerungsparameter tragen wesentlich zur Funktionsvielfalt und Robustheit bei. Sie sind ein entscheidender Vorteil gegenüber dem Windows-Explorer, der dem Anwender keine Eingriffsmöglichkeiten bietet und aufwendige Kopieraktionen mit vielen Dateien manchmal ohne erkennbaren Grund abbricht.
Die wichtigsten Robocopy-Befehle im Überblick
Nachfolgend finden Sie einen Überblick über die wichtigsten Kopierbefehle und -optionen, mit denen Sie bereits zahlreiche alltägliche Backups mit Robocopy realisieren können. Wie Sie diese Robocopy-Befehle sinnvoll einsetzen, zeigen wir Ihnen danach anhand von konkreten Beispielen.
/COPY:copyflag[s] | Kopiert Dateieigenschaften - Standardeinstellung: /COPY:DAT - D: Dateiinhalte - S: Sicherheitsinformationen (NTFS-Zugriffssteuerungslisten, ACLs) - A: Attribute - O: Besitzerinformationen - T: Zeitstempel - U: Überwachungsinformationen (NTFS-Überwachung von Dateizugriffen) |
/COPYALL | Kopiert alle Dateiinformationen (Alternative zu: COPY:DATSOU) |
/NOCOPY | Dateiinformationen werden nicht kopiert (wird häufig in Kombination mit /PURGE verwendet) |
/PURGE | Dateien und Verzeichnisse im Zielverzeichnis werden gelöscht, wenn sie im Quellverzeichnis nicht mehr existieren |
/MIR | Quellverzeichnis wird gespiegelt (entspricht der Kombination aus /E + /PURGE) |
/MON:n | Robocopy wird nach n Änderungen automatisch wieder aktiv (Hintergrundbetrieb für automatische Backups) |
/MOT:n | Robocopy wird nach n Minuten automatisch wieder aktiv (Hintergrundbetrieb für automatische Backups) |
/RH:hhmm-hhmm | Bestimmt einen Zeitraum, in dem Robocopy aktiv wird |
/XF | Schließt bestimmte Dateitypen aus |
/XD | Schließt bestimmte Verzeichnisse aus |
/R:n | Definiert die Anzahl von Wiederholungsversuchen für fehlerhafte Kopiervorgänge (Standardeinstellung: 1.000.000) |
/W:n | Definiert die Wartezeit zwischen Wiederholungen (in Sekunden). Der Standardwert von n ist 30 (also eine Wartezeit von 30 Sekunden bis zum nächsten Kopierversuch). |
/L | Backup-Dateien auflisten (ein Testlauf für Kontrollzwecke, Backup wird nicht durchgeführt) |
/LOG: | Legt bei jedem Backup-Durchlauf bzw. Sync-Vorgang eine neue Logdatei an |
/LOG+: | Führt eine bereits bestehende Logdatei fort |
/TEE | Informationen sowohl auf dem Bildschirm als auch in der Logdatei ausgeben |
/MOV | Dateien werden verschoben und nach dem Kopieren aus dem Quellverzeichnis gelöscht |
/MOVE | Dateien und Verzeichnisse werden verschoben und nach dem Kopieren aus dem Quellverzeichnis gelöscht |
robocopy /? | Ruft die Hilfe von Robocopy in der Eingabeaufforderung auf |
So wird Robocopy aufgerufen
Robocopy steuert man über die Windows Eingabeaufforderung (cmd.exe). Diese rufen Sie zuerst über den Ausführen-Dialog von Windows 10 auf:
- Tastenkombination [WIN] + [R] drücken
- „cmd“ in das Eingabefeld eintragen (1)
- den OK-Button drücken (2)
Anschließend öffnet sich die Eingabeaufforderung. Dort können Sie direkt die Befehlssyntax von Robocopy für Backups und Kopierkationen und eingeben.
So erstellt man Backups mit Robocopy
Robocopy eignet sich ideal für alltägliche Backup-Routinen. Wir zeigen Ihnen anhand von einfachen Beispielen, wofür Sie die Parameter und Optionen einsetzen können und welchen Code Sie dafür brauchen.
Spiegelung von Verzeichnissen
Zu den besonders häufig verwendeten Robocopy-Optionen unter Windows 10 zählt die Spiegelungsfunktion (/MIR), die Komplettbackups des Quellverzeichnisses anlegt:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR
Bei dem Anwendungsbeispiel wird das gesamte Quellverzeichnis (test) mit sämtlichen (auch leeren) Unterverzeichnissen auf das Ziellaufwerk (Z:\) kopiert. Dabei befindet sich das Quellverzeichnis auf dem DXesktop des gerade aktiven Benutzerprofils (in unserem Beispiel heißt der angemeldete Benutzer Peter).
Vorabcheck mit Probelauf
Möchten Sie erstmal testweise herausfinden, welche Dateien der Spiegelungsbefehl des Robocopy-Backups erfasst und ob es Fehlermeldungen gibt, können Sie den Parameter /L hinzufügen. Dann dokumentiert die Kommandozeile die Aktion (dort werden dann auch Fehler angezeigt), legt aber noch keine Kopien des Ausgangsverzeichnisses an:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /L
Feinsteuerung von Robocopy-Backups
Für die Feinsteuerung eines Backups legen wir nun die Zahl der Kopierversuche (R:3 = drei Versuche) sowie die Wartezeit (W:2 = 2 Sekunden) zwischen den einzelnen Kopierversuchen fest. Zudem soll im Verzeichnis „Logdateien“ eine Datei (logdatei.log) angelegt werden, die den Ablauf des Robocopy-Backups für Kontrollzwecke protokolliert:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /R:3 /W:2 /LOG+:Z:\Logdateien\logdatei.log
In dem Beispiel muss das Logdateien-Verzeichnis bereits vorhanden sein, sonst wird der Kopiervorgang abgebrochen. Möchte man Dateien (z. B. Word-Dateien) beim Robocopy-Backup aussparen, kann der /XF-Parameter (XF = eXclude File) genutzt werden.
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /XF *.docx
Ganze Verzeichnisse klammert man mit der XD-Option (eXclude Directory) aus. Da das auszulassende Verzeichnis (Meine Dokumente) aus zwei Worten mit Leerzeichen besteht, wird es in Anführungszeichen gesetzt:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /XD "Meine Dokumente"
Voraussetzung für fehlerfreie Kopieraktionen mit Robocopy unter Windows 10 sind exakte Pfadangaben. Enthalten diese Leerzeichen, ist der Pfad in Anführungszeichen zu setzen.
Mit Robocopy ist noch eine wesentlich detailliertere Feinsteuerung von Backups möglich. So kann man auch Dateiattribute gezielt ein- oder ausschließen. Maßgeblich ist hierfür die Option /COPY:copyflag[s]. Robocopy verwendet standardmäßig den Befehl /COPY:DAT, überträgt via Backup also die Dateiinhalte (D = Data), Attribute wie schreibgeschützt oder versteckt (A = Attributes) und den Zeitstempel (T = Timestamp). Der Timestamp gibt Auskunft über Erstellungsdatum, Änderungsdatum und das Datum des letzten Zugriffs. Für inkrementelle Backups sind solche Zeitstempel essenziell, da sie nur aktuelle Änderungen an Dateien und Verzeichnissen berücksichtigen. Ein weiterer Parameter ist beispielsweise S (= Security), der NTFS-Zugriffsrechte transferiert.
Der Ausschluss von einzelnen Kopierflags kann helfen, wenn z. B. bestimmte Sicherheitsrechte auf dem Zielsystem nicht korrekt gesetzt werden können und die Kopieraktion aus dem Grunde scheitert oder nicht vollständig durchgeführt wird. In dem Fall kann man gezielt auf das S-Copyflag verzichten. Der Einschluss des Flags A (für Dateiattribute) kann etwa gezielt den Schreibschutz von Dateien auf die Sicherheitskopien übertragen. Der Code sieht bei der Übertragung von Dateiinhalt, Attribut (z. B. Schreibschutz) und Zeitstempel wie folgt aus:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /COPY:DAT
Gerade bei langwierigen Backup-Prozessen kann es sinnvoll sein, mit der Option /Z in Etappen zu sichern. Nach einem Neustart von Robocopy wird der Sicherungsauftrag dort fortgesetzt, wo er unterbrochen wurde. Mehrmalige Unterbrechungen sind kein Problem. Bei dieser Methode spart man Zeit und Ressourcen, da große Dateien nicht immer wieder vollkommen neu gesichert werden müssen.
- Daten zentral speichern, teilen und bearbeiten
- Serverstandort Deutschland (ISO 27001-zertifiziert)
- Höchste Datensicherheit im Einklang mit der DSGVO
Automatisierung von Backups
Ein Vorteil von Robocopy ist, dass die Backup-Aufträge per Batchdatei ausgeführt werden können. Man kann eine solche Skriptdatei auf dem Desktop ablegen und bei Bedarf mit einem Mausklick starten. Sie können sie aber auch im Autostart-Verzeichnis von Windows hinterlegen, um das Backup bei jedem Systemstart automatisch auszuführen. Zu dem Ordner gelangen Sie, wenn Sie in die Adresszeile des Windows-Explorers das Wort „Autostart“ eingeben und anschließend die ENTER-Taste drücken. Alternativ können Sie auch mit [Windows] + [R] das Fenster „Ausführen“ öffnen und dort „shell:startup“ eingeben und auf „OK“ klicken. Danach können Sie die Batch-Datei mit der Maus in das aufgerufene Verzeichnis schieben. Eine Kopie der Batch-Datei oder ein Verknüpfungslink auf die Batch-Datei funktioniert ebenfalls.
Eine weitere Methode zur Automatisierung von Backups ist die Monitor-Funktion von Robocopy, die ein Quellverzeichnis dauerhaft überwachen kann. Werden dort Änderungen vorgenommen, findet automatisch eine Sicherung statt. Robocopy kann auch regelmäßig nach einer festgelegten Zeitspanne (z. B. einmal pro Stunde) aktiv werden. Ein bestimmter Zeitpunkt (z. B. 18 Uhr) kann ebenfalls ein regelmäßiges Backup auslösen. Das Monitoring definieren Sie mit den Optionen /MON:n (für eine bestimmte Anzahl von Änderungen) und MOT:n (für ein zeitbasiertes Backup). Einen ganz bestimmten Zeitpunkt legt man mit /RH:hhmm-hhmm fest. Man kann die Parameter/MON und /MOT auch kombinieren:
robocopy C:\Users\Peter\Desktop\test Z:\ /MIR /R:3 /W:4 /LOG+:Z:\Logdateien\logdatei.log /MON:1 /MOT:25
In diesem Beispiel nimmt Robocopy eine Sicherung nach 25 Minuten vor, wenn mindestens eine Änderung erfolgt ist. Die Änderungen werden in der Log-Datei protokolliert. Verzichten Sie auf eine ausdrückliche Zeitangabe, nutzt Robocopy für die automatische Verzeichnisüberprüfung eine Default-Einstellung (Überprüfung und ggf. Backup nach 1 Minute). Möchten Sie vor allem zu Beginn eines neuen Backup-Auftrages die Aktivitäten von Robocopy genauer im Blick behalten, können Sie /TEE nutzen, dann erfolgt eine doppelte Ausgabe in der Logdatei und am Bildschirm (genauer: in der Eingabeaufforderung).
Permanente Hintergrundaktivitäten können die Ressourcen belasten, wenn etwa ständig große Dateien über das Netzwerk bzw. in die Cloud übertragen werden. Man sollte also gerade bei Automatisierungen vorsichtig vorgehen und Aktualisierungs- und Backup-Zyklen mit Bedacht festlegen. Erfahrungsgemäß ist es sinnvoll, sich das Backup-Verzeichnis regelmäßig anzuschauen, vor allem zu Beginn eines neu definierten Backup-Auftrags. Dadurch können Sie sich vergewissern, was Robocopy überhaupt macht. So wird etwa bei unsichtbaren Hintergrundaktivitäten schnell klar, ob auch überflüssige, fehlerhafte, ungewollte oder unnötige Kopieroperationen stattfinden.