close

Robotkopie

Ga naar navigatie Ga naar zoeken

robocopy , of "Robust File Copy", is eendirectoryreplicatiecommando , beschikbaar vanaf de Command Line . Het maakte deel uit van de Windows Resource Kit en werd geïntroduceerd als een standaardfunctie van Windows Vista en Windows Server 2008 .

Functies

Robocopy onderscheidt zich door beter te presteren dan de opdrachten in Windows (COPY en xcopy ) en ook:

  • Het kan netwerkstoringen tolereren en doorgaan met kopiëren waar het was gebleven (onvolledige bestanden worden gestempeld met de datum 01/01/1980 en bevatten een herstellogboek zodat Robocopy weet waar het verder moet).
  • U kunt met succes kenmerken, informatie over de eigenaar, alternatieve gegevensstromen (ADS), controlegegevens en standaarddatums kopiëren, zonder dat u omslachtige opdrachtparameters nodig hebt.
  • U kunt de NTFS ACL kopiëren (door de parameter /COPYALL /SEC toe te voegen) en het "back-uprecht" (/B) van Windows NT toe te passen , zodat een beheerder een volledige map kan kopiëren, inclusief die bestanden waarvan het lezen wordt geweigerd aan de beheerder.
  • Standaard persistentie, met een programmeerbaar aantal automatische nieuwe pogingen als een bestand niet toegankelijk is.
  • Het heeft een "spiegel"-modus, die de boomstructuur gesynchroniseerd houdt door bestanden van de bestemming te verwijderen, optioneel, als ze niet langer in de bron staan.
  • Het kan grote hoeveelheden bestanden kopiëren die het XCOPY-hulpprogramma niet zou kunnen.
  • Het heeft een voortgangsindicator op de opdrachtregel die continu wordt bijgewerkt.
  • U kunt bestanden en mappen met lange namen van meer dan 256 tekens - tot een theoretisch maximum van 32.000 - zonder fouten kopiëren. [ 1 ]
  • Ondersteunt kopiëren met meerdere threads (alleen Windows 7). [ 2 ]

Robocopy kan met name geen geopende bestanden kopiëren die door andere gebruikers of toepassingen worden gebruikt. De zogenaamde "back-upmodus" is een beheerdersrecht waarmee Robocopy de machtigingsinstellingen (met name die in de NTFS ACL ) voor de back-upmissie kan overschrijven. Het Windows Volume Shadow Copy-subsysteem is het enige dat geopende bestanden kan kopiëren terwijl ze in gebruik zijn. Robocopy implementeert geen toegang tot deze service, waardoor het minder bruikbaar is als back-uphulpprogramma voor volumes die in gebruik zijn. U kunt echter de hulpprogramma's VSHADOWof DISKSHADOW(meegeleverd met Windows Server 2008 ) gebruiken om een ​​momentopname te maken van een volume waarvan een back-up kan worden gemaakt met Robocopy.

Bovendien is het ontwerp van de originele versie van Robocopy niet in staat om beveiligingskenmerken te repliceren van bestanden waarvan de machtigingen zijn gewijzigd na de eerste replicatie. [ 3 ] Dit gedrag is gecorrigeerd in de Windows 2008- en Vista-versies van Robocopy. Dit betekent dat Robocopy zich niet hetzelfde gedraagt ​​tussen verschillende platforms. [ 4 ]

interface

Hoewel Robocopy zelf een opdrachtregelprogramma is, heeft Microsoft Technet ook een interface geleverd waarvoor het .net Framework 2.0 vereist is. Het is ontwikkeld door Derk Benisch, systeemingenieur bij de MSN-groep van Microsoft. [ 5 ] Deze interface bevat versie XP026 van Robocopy (voor Vista).

Gebruiksvoorbeelden

Kopieer de inhoud van een map recursief, van c:\foo naar c:\bar

robocopy C:\foo C:\bar /E

Kopieer de inhoud van een map recursief (/E), en kopieer alle informatie van de bestanden (/COPYALL, wat gelijk is aan /COPY:DATSOU, D=Data, A=Attributen, T=Date, S=Security=ACL van NTFS, O=Owner Information, U=Audit Information), geen nieuwe pogingen op vergrendelde bestanden (/R:0). Merk op dat de directorydatums niet opnieuw worden ingesteld als een versie ouder dan XP026 wordt gebruikt:

robocopy C:\foo C:\bar /COPYALL /E /R:0

Dupliceer foo naar bar, verwijder alle bestanden in bar die niet in foo (/MIR) staan, kopieer bestanden in herstartbare modus (/Z) voor het geval de netwerkverbinding wegvalt

robocopy C:\foo \\backupserver\bar /MIR /Z

Kopieer mappen, geen bestanden

De syntaxis van Robocopy verschilt duidelijk van de syntaxis die wordt gebruikt door normale kopieeropdrachten, in die zin dat het alleen mapnamen accepteert, geen bestanden, zowel op de bron als op het doel. Bestandsnamen en jokertekens (zoals " *.* ") worden niet geaccepteerd als bron of bestemming. Bestanden kunnen worden geselecteerd of uitgesloten met behulp van filterargumenten, die alleen kunnen verwijzen naar bestandsnamen die betrekking hebben op reeds geselecteerde mappen, aangezien volledige paden niet worden geaccepteerd.

Om bijvoorbeeld het bestand foo.txt van de c:\bar directory naar c:\baz te kopiëren , zou de volgende uitdrukking worden gebruikt

robocopy c:\bar c:\baz foo.txt

Gedeeltelijke lijst met opdrachtregelparameters

De onderstaande lijst geeft de meest voorkomende opdrachtregelopties voor Robocopy weer [ 6 ]

Algemene opties

/MIR
Activeert de spiegelmodus en verwijdert elk bestand in de bestemming dat niet langer in de bron staat (gelijk aan /E en /PURGE).
/Z
Kopieer bestanden in opstartmodus. "Herstartbaar" betekent dat Robocopy een herstelrecord naar het onvolledige bestand zal schrijven voor het geval de bewerking wordt onderbroken of afgebroken, zodat een toekomstige Robocopy-run kan verdergaan waar deze was gebleven, in plaats van opnieuw vanaf het begin te beginnen. Dit is handig voor betrouwbare kopieën van grote bestanden of hoeveelheden via onstabiele netwerken zoals [Virtual Private Network|VPN] of internet. Een onvolledig dossier heeft dezelfde grootte als het volledige dossier en is gedateerd in een periode van 24 uur vanaf 01/01/1980 om 0:00 uur.
/KOPIEER ALLES
Controleer of er een back-up is gemaakt van de NTFS-beveiliging. Gelijk aan /COPY:DATSOU, waarbij D=Data, A=Attributes, T=Date, S=Security=NTFS ACL, O=Owner Information, U=Audit Information.
/B
Open het bestand in de back-upmodus. Het staat het openen van bestanden toe zonder beveiligingsbeperkingen, maar vereist aanvullende rechten op herkomst en bestemming.
/ZB
Gebruik herstartbare modus; als de toegang wordt geweigerd, gebruik dan de back-upmodus.

Gespecialiseerde opties

/S
Kopieert submappen als ze niet leeg zijn (zoals XCOPY).
/EN
Kopieert submappen, zelfs als ze leeg zijn (zoals XCOPY).
/M
Kopieert bestanden met het Archive-attribuut (zoals XCOPY met de /M-optie).
/MOV
Verplaats de bestanden en verwijder ze uit de bron.
/ACTIE
Verwijder bestanden EN mappen (verwijder ze uit de bron na de kopie).
/MA:n
Controleer en start de kopie na n wijzigingen (en APK-minuten).
/APK:n
Stel het minimale bewakingsinterval (n minuten) in voordat u een nieuwe kopie start.
/XA:attributen
Sluit bestanden uit met een van de opgegeven kenmerken. Voorbeeld: /XA:H kopieert geen bestanden met het verborgen kenmerk.
/XF-naam
Exclusief bestanden aangegeven in naam . Wildcards worden geaccepteerd. Voorbeeld: /XF *.bak kopieert geen bestanden met de extensie *.bak.
/XD naam
Sluit directory 's uit die ergens in het pad met naam zijn aangegeven . Werkt met jokertekens (bijv. /XD BKUP* kopieert geen mappen die beginnen met "BKUP", ongeacht waar ze zich in de boom bevinden).
/XC
Sluit bestanden met wijzigingen uit .
/XN
Exclusief nieuwe bestanden . _
/XO
Exclusief oudere bestanden
/XX
Exclusief extra bestanden en mappen , die zich wel in de bestemming kunnen bevinden, maar niet in de bron.
/XL
Sluit solitaire bestanden en mappen uit ; Het kan bij de oorsprong zijn, maar niet bij de bestemming.
/ALS
Voeg de volgende bestanden toe.
/ES
Bevat dezelfde bestanden .
/ITEM
Bevat aangepaste bestanden (bijvoorbeeld als sommige bestandskenmerken hebben en andere alleen-lezen).
/XJ
Sluit symbolische links uit _ Bij het kopiëren van gebruikersaccounts naar een andere locatie in Windows Vista is het belangrijk symbolische koppelingen uit te sluiten. De link in '\Users\...\AppData\local' genaamd 'Application Data' verwijst naar de bovenliggende link, waardoor een lus ontstaat die Robocopy kan laten crashen. Bovendien, als een link verwijst naar een bronschijf die naar een andere doelschijf is gekopieerd met behulp van /MIR (of /E en /PURGE) en de link wordt gekopieerd, zal deze verwijzen naar de bronschijf, wat kan resulteren in de inhoud van de bron schijf.
/R:n
Vertelt Robocopy de 'n'-pogingen voordat hij afsluit met een fout (standaard 1 miljoen).
/IPG:n
Vertelt Robocopy de pauze in 'n' milliseconden tussen pakketten in netwerkoverdracht. Handig om bandbreedte te behouden op langzame verbindingen.
/L
Simu L om de kopie te maken zonder het te doen, om het resultaat van een configuratie vanaf de opdrachtregel te testen.
/W:n
Wachttijd tussen nieuwe pogingen (standaard 30 seconden).
/ZUIVEREN
Verwijder de bestanden die niet in oorsprong zijn.
/DST
Compensatie voor tijdsverschillen.
/DCOPY:T
Kopieer data van directories. ### Beschikbaar in XP026 (WinXP) & XP027 en later (Vista)
/MAXAGE:n
MAX bestandslevensduur - sluit bestanden uit die ouder zijn dan n dagen/datum.
/MINAGE:n
Minimale levensduur van bestanden - sluit bestanden uit met minder dan n dagen/datum.
(Als n < 1900 dan n = aantal dagen, anders n = datum JJJJMMDD ).
/MT:n
Multithreaded kopie (alleen Windows 7). De waarde van n varieert van 1 tot 128 (8 standaard)
/FFT
Neem FAT-bestandstijden (2-seconden datum/tijd granulariteit).

Logging opties

/NFL
Neem geen bestandsnamen op.
/NDL
Registreer geen directorynamen.
/NS
Log geen bestandsgroottes in.
/NC
Registreer geen bestandsklassen.
/X
Maak een lijst van alle extra bestanden.
/V
Extraheer gedetailleerde informatie, met uitzondering van de bestanden.
/TS
Voeg de datums van de bronbestanden toe.
/PF
Volledige paden opnemen.
/NP
% gekopieerd niet weergeven.
/ETA
Toon geschatte aankomsttijd.
/LOG:bestand.txt
Vervang file.txt door de status van de taak.
/LOG+:bestand.txt
Voeg de status van de taak toe aan file.txt.
/TEE
Uitvoer naar consolevenster en logbestand.
/NJH
Geen taakkop.
/NJS
Geen taakoverzicht.

(Zie de volledige lijst in [1] hier)

Bekende

Tot XP026

  • Versie XP026 retourneert geen ERRORLEVEL-codes als er extra mappen/bestanden zijn.
  • De nieuwe optie in Vista (XP027) /EFSRAW: Kopieer versleutelde bestanden in EFS RAW-modus; niet beschikbaar voor XP (XP026).
  • Robocopy kopieert geen datums uit bronmappen. In plaats daarvan zal het de huidige datum gebruiken bij het maken van nieuwe. Als u wilt dat beide kopieën hetzelfde zijn, moet u een andere back-upoplossing gebruiken. Geadresseerd in versie XP026 en de Vista-versie (/DCOPY:T parameter)
  • Het kopieert niet betrouwbaar korte bestandsnamen.
  • Het kopiëren van bestanden in de herstartbare modus is veel langzamer (ongeveer 6 keer langer op het netwerk) dan in de normale modus of back-upmodus vanwege de noodzakelijke administratieve overhead.
  • Hoewel versie XP026 al gecomprimeerde bestanden kan kopiëren, treedt er veel fragmentatie op .
  • De back-upmodus kan de expliciete weigering van NTFS ACL-machtigingen niet overschrijven als het kopiëren geen eigendom is van een object. (Foutmelding: ERROR 5 (0x00000005) NTFS-back-up naar doelmap kopiëren. Toegang wordt geweigerd.) Deze fout kan worden verholpen door de gegevens eenvoudigweg te kopiëren met deze optie-instelling /COPY:DT in plaats van de optie /COPYALL
  • Robocopy bewaart geen harde links .
  • Robocopy kan niet over FTP-links kopiëren.

ErrorLevel retourcodes

De retourcode van Robocopy is een bitmap, zoals te zien is in: [ 7 ]

  • 0×16 Ernstige fout. Robocopy heeft geen bestanden gekopieerd. Het is te wijten aan een gebruiksfout of onvoldoende toegangsrechten bij de bron of bestemming.
  • 0×08 Sommige bestanden of mappen zijn niet gekopieerd (Er waren leesfouten en de limiet voor opnieuw proberen is overschreden). Controleer later op deze fouten.
  • 0×04 Er zijn enkele niet-overeenkomende bestanden en bestandsnamen gedetecteerd. Onderzoek het uitvoerlogboek. Administratie zal waarschijnlijk nodig zijn.
  • 0×02 Er zijn extra bestanden/mappen gedetecteerd. Onderzoek het uitvoerlogboek. Beheer zal nodig zijn.
  • 0×01 Een of meer bestanden zijn met succes gekopieerd (dat wil zeggen dat er nieuwe bestanden zijn binnengekomen).
  • 0×00 Geen fout, niets gekopieerd. Herkomst en bestemming zijn volledig gesynchroniseerd.

U kunt deze codes als volgt gebruiken voor gebruik in batchbestanden:

if  errorlevel  16  echo ***FATAL ERROR*** &  goto  : eof 
if  errorlevel  8  echo **KOPIE MISLUKT** &  goto  : eof 
if  errorlevel  4  echo *MISCREPANCY* &  goto  : eof 
if  errorlevel  2  echo EXTRA BESTANDEN &  goto  : eof 
if  errorlevel  1  echo Kopieer succesvol &  goto  : eof 
if  errorlevel  0  echo –geen wijziging– &  goto  : eof

Als alternatief kunnen ze ook worden gebruikt om meer gedetailleerde informatie te geven:

if  errorlevel  16  echo ***FATAL ERROR*** &  goto  : eof 
if  errorlevel  15  echo FAIL MISM XTRA COPY &  goto  : eof 
if  errorlevel  14  echo FAIL MISM XTRA &  goto  : eof 
if  errorlevel  13  echo FAIL MISM COPY &  goto  : eof 
if  errorlevel  12  echo FAIL MISM &  goto  : eof 
if  errorlevel  11  echo FAIL XTRA COPY &  goto  : eof 
if  errorlevel  10  echo FAIL XTRA &  goto  : eof 
if  errorlevel  9  echo FAIL COPY &  goto  : eof 
if  errorlevel  8  echo FAIL &  goto  : eof 
if  errorlevel  7  echo MISM XTRA COPY &  goto  : eof 
if  errorlevel  6  echo MISM XTRA &  goto  : eof 
if  errorlevel  5  echo MISM COPY &  goto  : eof 
if  errorlevel  4  echo MISM &  goto  : eof 
if  errorlevel  3  echo XTRA COPY &  goto  : eof 
if  errorlevel  2  echo XTRA &  goto  : eof 
if  errorlevel  1  echo COPY &  goto  : eof 
if  errorlevel  0  echo –geen verandering– &  goto  : eof

Versies

Opmerking: verschillende versies van Robocopy geven het versienummer niet weer wanneer 'Robocopy /?' op de opdrachtregel.

Product versie bestandsversie Jaar Bron Ander
1.70 - 1997 Windows NT-bronnenkit
1.71 4.0.1.71 1997 Windows NT-bronnenkit
1,95 4.0.1.95 1999 Windows 2000-bronnenkit
1.96 4.0.1.96 1999 Windows 2000-bronnenkit © 1995-1997
XP010 5.1.1.1010 2003 Windows 2003 -bronnenkit
XP026 5.1.2600.26 2005 Gedownload met Robocopy GUI v.3.1.2
XP027 5.1.10.1027 2008 Gebundeld met Windows Vista , Server 2008, Windows 7 © 1995-2004
6.1 6.1.7601 2009 KB2639043 © 2009
6.2 6.2.9200 2012 Gebundeld met Windows 8 © 2012
6.3 6.3.9600 2013 Gebundeld met Windows 8.1 © 2013
10.0 10.0.10240 2015 Gebundeld met Windows 10 © 2015

Zie ook

Referenties (in het Engels)

  1. http://windowsitpro.com/Windows/Articles/ArticleID/44324/pg/2/2.html Gearchiveerd op 5 november 2005, op de Wayback Machine Robocopy XP010 FAQ Gebruik krachtige nieuwe schakelopties.
  2. "Voer multithreaded bestandskopieën uit met Robocopy in Windows 7" . 
  3. Microsoft's Robocopy-compromis .
  4. Lelijke bug in Robocopy - beveiliging op bestandsniveau negerend .
  5. ^ Joshua Hoffman (november 2006). "Utility Spotlight Robocopy GUI" (html) . TechNet Magazine (Microsoft Corporation en CMP Media, LLC) . Ontvangen op 17 juli 2008 . 
  6. Robocopy.exe, Microsoft Windows Server 2003 Resource Kit, hulpuitvoer wanneer uitgevoerd met /? opdrachtregel schakelaar. Volledige hulp bij /??? opdrachtregel schakelaar.
  7. "Robocopy Errorlevel Return Codes" . Gearchiveerd van het origineel op 22 december 2008 . Ontvangen 4 juli 2009 . 

Externe links