Robocopy - Mein Lieblingstool für Kopieren und Backup

by Christian Haberl Januar 14, 2008 21:56

Ich möchte eine Mini-Serie starten zum Thema "geniale Tools".

Platz 1 für mich: Robocopy.

Wer Verzeichnisse spiegeln, Dateien synchronisieren oder differentielle Backups bewußt auf Dateiebene (und nicht mit ntbackup oder Third-Party Backup-Tools) machen möchte, oder wer gelegentliche größere Datenmengen bewegen muss, der kennt das Tool robocopy vielleicht, wenngleich es jahrelang irgendwie doch als Geheimtipp galt.
Die Fachzeitschrift c't hat 2003 ein Batch Skript auf Basis von xcopy veröffentlicht, welches aber weniger kann und nicht so robust ist wie robocopy.
Gut man kann jetzt natürlich behaupten, xcopy wäre auf jedem Windows System vorhanden, während man für robocopy die Windows Server 2003 Resource Kit Tools herunterladen muss.
Falsch! - In Windows Vista ist Robcopy erstmals standardmäßig inkludiert!

Hier eines meiner Backup Skripten:
robobackup.cmd
Es sichert jeden Tag bestimmte Verzeichnisse auf eine externe Festplatte, differentiell, d.h. nur geänderte Dateien - Von dieser externen Festplatte habe ich zwei Stück, eine zu Hause und eine im Büro und einmal wöchentlich rotiere ich die Platten zwischen zu Hause und Büro, um ein örtlich getrenntes Backup zu haben. Zusätzlich verwende ich beim erstellen noch Schattenkopien, um keine Probleme mit offenen Dateien zu bekommen, aber darauf werde ich in einem eigenen Artikel näher eingehen...

Übrigens, das "cd /d %0\.." ist ein Trick um in das aktuelle Verzeichnis zu wechseln, in dem das Skript liegt, wenn man nämlich unter Vista ein Skript als Administrator ausführt, wechselt Windows in das Verzeichnis "C:\Windows\system32".

Wer sich mit der Kommandozeile weniger zurecht findet, kann das Robocopy GUI herunterladen mit dem man sich das Skript "zusammenklicken" kann.

In Daniel Melanchton's Blog wird das Thema robocopy und Robocopy Gui noch ausführlicher behandelt.

image

"Robocopy GUI erweitert außerdem die Funktionalität des klassischen Robocopy. Durch die Multithreading-Fähigkeit kann man ein Robocopy-Skript erstellen, auszuführen und bereits mit der Entwicklung eines anderen Skripts beginnen, während das erste Skript immer noch läuft. Man kann die Skripte auch speichern, um eine Bibliothek aus allgemeinen Skripts herzustellen und mit Kollegen auszutauschen. Die wichtigste Funktion besteht dabei darin, dass man mit der Robocopy GUI die eigenen Standardeinstellungen abspeichern kann und nicht jedes Mal von vorn beginnen muss."

Hier die Liste der Parameter:

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

Syntax :: ROBOCOPY Quelle Ziel [Datei [Datei]...] [Optionen]
Quelle :: Quellverzeichnis (Laufwerk:\Pfad oder \\Server\Freigabe\Pfad).
Ziel :: Zielverzeichnis (Laufwerk:\Pfad oder \\Server\Freigabe\Pfad).
Datei :: Zu kopierende Dateien (Namen/Platzhalter: Standard ist "*.*").
::
:: Kopieroptionen:
::
/S :: Kopiert Unterverzeichnisse, jedoch keine leeren Unterverzeichnisse.
/E :: Kopiert Unterverzeichnisse, einschließlich leerer Unterverzeichnisse.
/LEV:n :: Kopiert nur die obersten Ebenen der Quellverzeichnisstruktur.
/Z :: Kopiert Dateien im Neustartmodus.
/B :: Kopiert Dateien im Sicherungsmodus.
/ZB :: Verwendet den Neustartmodus. Im Fall einer Zugriffsverweigerung wird der Sicherungsmodus verwendet.
/EFSRAW :: Kopiert alle verschlüsselten Dateien im EFS RAW-Modus.
/COPY:copyflags :: Gibt an, welche Inhalte für Dateien kopiert werden sollen (der Standard ist "/COPY:DAT").
(Kopierflags : D=Daten, A=Attribute, T=Zeitstempel).
(S=Sicherheit=NTFS-ACLs, O=Besitzerinformationen, U=Überwachungsinformationen).
/DCOPY:T :: Kopiert Verzeichniszeitstempel.
/SEC :: Kopiert Dateien mit Sicherheitsinformationen (entspricht "/COPY:DATS").
/COPYALL :: Kopiert alle Dateiinformationen (entspricht "/COPY:DATSOU").
/NOCOPY :: Kopiert keine Dateiinformationen (eignet sich für die Verwendung mit "/PURGE").
/SECFIX :: Korrigiert die Dateisicherheit in allen Dateien, auch in ausgelassenen Dateien.
/TIMFIX :: Korrigiert die Uhrzeitangaben für Dateien in allen Dateien, auch in ausgelassenen Dateien.
/PURGE :: Löscht Zieldateien/-verzeichnisse, die in der Quelle nicht mehr vorhanden sind.
/MIR :: Spiegelt eine Verzeichnisstruktur (Entspricht "/E" mit "/PURGE").
/MOV :: Verschiebt Dateien (löscht Dateien nach dem Kopieren an der Quelle).
/MOVE :: Verschiebt Dateien UND Verzeichnisse (löscht sie nach dem Kopieren an der Quelle).
/A+:[RASHCNET] :: Fügt die vorhandenen Attribute den kopierten Dateien hinzu.
/A-:[RASHCNET] :: Entfernt die vorhandenen Attribute von den kopierten Dateien.
/CREATE :: Erstellt eine Verzeichnisstruktur und nur Dateien mit einer Länge von Null.
/FAT :: Erstellt Zieldateien nur unter Verwendung von 8.3 FAT-Dateinamen.
/256 :: Deaktiviert die Unterstützung für sehr lange Pfade (> 256 Zeichen).
/MON:n :: Überwacht die Quelle. Wird erneut ausgeführt, wenn mehr als n Änderungen gefunden werden.
/MOT:m :: Überwacht die Quelle. Wird bei einer Änderung erneut ausgeführt in m Minuten.
/RH:hhmm-hhmm :: Ausführungsstunden - Steuert, wann neue Kopiervorgänge gestartet werden können.
/PF :: Überprüft die Ausführungsstunden pro einzelne Datei (nicht pro Durchgang).
/IPG:n :: Abstand zwischen Paketen (ms), um bei langsamen Verbindungen Bandbreite freizugeben.
::
:: Dateiauswahloptionen:
::
/A :: Kopiert nur Dateien mit dem "Archive"-Attribut.
/M :: Kopiert nur Dateien mit dem "Archive"-Attribut und setzt das Attribut zurück.
/IA:[RASHCNETO] :: Schließt nur Dateien ein, bei denen eines der Attribute festgelegt ist.
/XA:[RASHCNETO] :: Schließt Dateien aus, bei denen eines der Attribute festgelegt ist.
/XF Datei [Datei]:: Schließt Dateien aus, die mit den angegebenen Namen/Pfaden/Platzhaltern übereinstimmen.
/XD Verz. [Verz.]:: Schließt Verzeichnisse aus, die mit den angegebenen Namen/Pfaden übereinstimmen.
/XC :: Schließt geänderte Dateien aus.
/XN :: Schließt neuere Dateien aus.
/XO :: Schließt ältere Dateien aus.
/XX :: Schließt zusätzliche Dateien und Verzeichnisse aus.
/XL :: Schließt einsame Dateien und Verzeichnisse aus.
/IS :: Schließt identische Dateien ein.
/IT :: Schließt optimierte Dateien ein.
/MAX:n :: Maximale Dateigröße - schließt Dateien aus, die größer als n Bytes sind.
/MIN:n :: Minimale Dateigröße - schließt Dateien aus, die kleiner als n Bytes sind.
/MAXAGE:n :: Maximales Dateialter - schließt Dateien aus, die älter als n Tage/Datum sind.
/MINAGE:n :: Minimales Dateialter - schließt Dateien aus, die neuer als n Tage/Datum sind.
/MAXLAD:n :: Maximales Datum des letztes Zugriffs - schließt Dateien aus, die seit n nicht verwendet wurden.
/MINLAD:n :: Minimales Datum des letztes Zugriffs - schließt Dateien aus, die seit n verwendet wurden.
(Wenn n < 1900, dann ist n = n Tage, andernfalls ist n = Datum im Format JJJJMMTT).
/XJ :: Schließt Abzweigungspunkte aus (werden normalerweise standardmäßig eingeschlossen).
/FFT :: Geht von FAT-Uhrzeitangaben für Dateien aus (Granularität von zwei Sekunden).
/DST :: Kompensiert Zeitunterschiede von einer Stunden aufgrund der Sommerzeit.
/XJD :: Schließt Abzweigungspunkte für Verzeichnisse aus.
/XJF :: Schließt Abzweigungspunkte für Dateien aus.
::
:: Wiederholungsoptionen:
::
/R:n :: Anzahl von Wiederholungsversuchen bei fehlerhaften Kopiervorgängen. Der Standardwert ist 1 Million.
/W:n :: Wartezeit zwischen Wiederholungsversuchen. Der Standardwert ist 30 Sekunden.
/REG :: Speichert "/R:n" und "/W:n" in der Registrierung als Standardeinstellungen.
/TBD :: Wartet darauf, dass Freigabenamen definiert werden (Wiederholungsfehler 67).
::
:: Protokollierungsoptionen :
::
/L :: Listet nur auf. Es werden keine Kopiervorgänge ausgeführt, Zeitstempel erstellt oder Dateien gelöscht.
/X :: Meldet alle zusätzlichen Dateien, nicht nur die ausgewählten Dateien.
/V :: Erstellt eine ausführliche Ausgabe mit ausgelassenen Dateien.
/TS :: Schließt Zeitstempel von Quelldateien in die Ausgabe ein.
/FP :: Schließt den vollständigen Pfadnamen von Dateien in die Ausgabe ein.
/BYTES :: Gibt Größen in Bytes aus.
/NS :: Keine Größe - Dateigrößen werden nicht protokolliert.
/NC :: Keine Klasse - Dateiklassen werden nicht protokolliert.
/NFL :: Keine Dateiliste - Dateinamen werden nicht protokolliert.
/NDL :: Keine Verzeichnisliste - Verzeichnisnamen werden nicht protokolliert.
/NP :: Kein Status - der Prozentsatz kopierter Elemente wird nicht angezeigt.
/ETA :: Zeigt die ungefähre Empfangszeit der kopierten Dateien an.
/LOG:Datei :: Gibt den Status der Protokolldatei aus (überschreibt das vorhandene Protokoll).
/LOG+:Datei :: Gibt den Status der Protokolldatei aus (wird an das vorhandene Protokoll angefügt).
/UNILOG:Datei :: Gibt den Status der Protokolldatei als UNICODE aus (überschreibt das vorhandene Protokoll).
/UNILOG+:Datei :: Gibt den Status der Protokolldatei als UNICODE aus (wird an das vorhandene Protokoll angefügt).
/TEE :: Gibt die Daten in das Konsolenfenster und die Protokolldatei aus.
/NJH :: Kein Auftragsheader.
/NJS :: Keine Auftragszusammenfassung.
/UNICODE :: Gibt den Status als UNICODE aus.
::
:: Auftragsoptionen:
::
/JOB:Auftragsname :: Übernimmt Parameter aus der angegebenen Auftragsdatei.
/SAVE:Auftragsname :: Speichert Parameter in der angegebenen Auftragsdatei.
/QUIT :: Beendet den Vorgang nach der Verarbeitung der Befehlszeile (zum Anzeigen von Parametern).
/NOSD :: Es ist kein Quellverzeichnis angegeben.
/NODD :: Es ist kein Zielverzeichnis angegeben.
/IF :: Schließt die folgenden Dateien ein.

Digg It!DZone It!StumbleUponTechnoratiRedditDel.icio.usNewsVineFurlBlinkList

Tags:

Windows Vista

Kommentare

12.07.2010 10:54:40 #

jörg

Hallo,
auch ich nutze intensiv Robocopy. Bisher ist mir aber noch nicht klar, was unter

/XL :: Schließt einsame Dateien und Verzeichnisse aus.
/IT :: Schließt optimierte Dateien ein.


zu verstehen ist

jörg Germany

12.07.2010 12:05:09 #

ChristianH

@Jörg - zum Glück gibt es Google Wink

/XX | /XL : eXclude eXtra | Lonely files and dirs.
                     An "extra" file is present in destination but not source,
                     excluding extras will delete from destination.
                     A "lonely" file is present in source but not destination
                     excluding lonely will prevent any new files being added to the destination.

/IT : Include Tweaked files.

Use /IT to include and process Tweaked files.
A Tweaked file is defined to be one that exists in both the source and destination,
with identical size and timestamp, but different attribute settings.

ChristianH United States

12.07.2010 12:07:00 #

ChristianH

lonely hätte ich mit "vereinsamte" nicht "einsame" übersetzt.
tweaked wüsste ich jetzt in dem Kontext auch nicht wie es zu übersetzen ist, aber sicher nicht mit "optimiert" Wink

ChristianH United States

02.01.2012 09:17:54 #

Sepp

Das Problem des Überschreibens von Dateien mit langem Namen durch Dateien mit kurzem Namen wurde von Microsoft offiziell dokumentiert (http://support.microsoft.com/kb/195144) und die Empfehlung ausgesprochen entweder auf kurze Dateinamen zu verzichten, diese auf eigene Verzeichnisbäume auszulagern,
alternativ diese auf Fat32 für ältere Applikationen zu belassen oder mit Skripten die SFN separat kopieren um mögliche Kollisionen zu vermeiden.

Sepp Germany

04.01.2012 16:20:58 #

captcha sniper discount

I would like to show my thanks to the writer just for bailing me out of this particular incident. Just after scouting through the search engines and seeing advice that were not beneficial, I believed my entire life was well over. Being alive minus the strategies to the issues you have sorted out as a result of your entire site is a crucial case, as well as those that would have negatively affected my entire career if I hadn't noticed your web blog. Your natural talent and kindness in touching all the stuff was priceless. I'm not sure what I would have done if I had not come across such a solution like this. It's possible to now look ahead to my future. Thank you very much for your impressive and amazing help. I will not think twice to propose your web site to any person who ought to have direction on this subject matter.

captcha sniper discount United States

10.01.2012 00:37:16 #

Dental site

I was wondering if you ever considered changing the page layout of your website? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having 1 or two pictures. Maybe you could space it out better?

Dental site United States

03.02.2012 12:10:48 #

Didrika

Almost everywhere I go another person is discussing facebook or twitter, from CNN to weblogs to my pals..
.fb facebook or twitter facebook or twitter

Didrika United States

Kommentar schreiben


(Zeigt dein Gravatar icon)

  Country flag

biuquote
  • Kommentar
  • Live Vorschau
Loading



Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen | Modified by Mooglegiant

Facebook

Über den Autor

MCTS

Christian Haberl Christian Haberl ist seit mehr als 10 Jahren als EDV Berater, Vortragender und Trainer tätig. Er kann sich nicht für ein Spezialgebiet entscheiden, drum heißt dieser Blog auch "Kraut & Rüben Blog" - Unter seine Interessen fallen Web-Entwicklung auf ASP.NET Basis, Information Worker & Productivity Technologien (Windows, Office), Server (Windows Server, Small Business, Virtualisierung, Exchange), Scripting, Spam Filtering/Security und Digital Home. Christian Haberl ist auch einer der führenden Produktspezialisten für Windows Media Center und Windows Home Server und ist Direktor des ClubDigitalHome.
Im Jahr 2008 hat Christian Haberl über 200 Vorträge und Schulungen durchgeführt.
Im Frühjahr 2009 wurde Christian Haberl von Microsoft Österreich zum "Influencer" ernannt, weiters wurde er Microsoft Certified Technology Specialist / Microsoft Certified Connected Home Integrator sowie Microsoft Certified Consumer Sales Specialist.


Netzwerk Management

Bandwidth

RecentComments

Comment RSS