Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Exacte kopie mappenstructuur

Pagina: 1
Acties:

  • Rygir
  • Registratie: Mei 2004
  • Laatst online: 01-03 05:45
Mijn probleem is vrij simpel denk ik, ik wil de inhoud van 2 of meer partities samenvoegen op een lege nieuwe partitie. En met inhoud bedoel ik uiteraard de bestanden, de mappen, en hun structuur. Tot zover is ongeveer elke copy operatie (of move) geschikt.

Maar nu komt het probleem :
- Van NTFS naar NTFS, dus ik had graag zowel de security opties als de alternate data streams en als er nog meta data is (euh... archive bit of zo, system flag,....), die ook natuurlijk.
>>> ik dacht aan Robocopy van Windows, die beweert alles te kopiëren
- OOK DE DATUMS VAN MAPPEN.
>>> En robocopy valt kennelijk door de mand :/

Windows vind het blijkbaar logisch dat als je een map van een partitie naar een andere verplaatst dat die de datum van het verplaatsen krijgt... daar ben ik dus niks mee....

Ik heb al vanalles bekeken, SyncToy en Robocopy op kop en een hele rits third party. Robocopy heb ik het meeste vertrouwen in, maar de datums van mappen laat ook hij schieten. Zelfs als ik met de vele opties die het programma rijk is ga klommelen. SyncToy is net als die andere third party onzin precies niet veel meer dan windows file copy gescript. Leuk, maar niet wat ik zoek.

Is er nu echt geen programma dat echt een perfecte kopie maakt van een mappenstructuur, tot op de laatste bit nauwkeurig?

  • Petuhr
  • Registratie: Juni 2000
  • Laatst online: 24-11 14:45

Petuhr

FreeBSD

Heel veel verstand van windows heb ik niet, maar is 'DeltaCopy' niet iets om naar te kijken?

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • Rygir
  • Registratie: Mei 2004
  • Laatst online: 01-03 05:45
Waw je was er snel bij :D

DeltaCopy is best interessant vermits het eigenlijk rsync voor windows is, maar heeft 2 nadelen die ik zie :
1) Als ik me niet vergis is het de bedoeling om met een rsync server te synchroniseren, en niet om tussen 2 mappen te kopiëren en/of verplaatsen.
2) Het houdt nog steeds geen rekening met map datums op NTFS... ik betwijfel zelfs of rsync rekening houdt met alternate file streams, maar dat heb ik niet getest.

  • Dysmael
  • Registratie: Januari 2002
  • Laatst online: 01-08-2019
Toch Robocopy. Gebruik /COPY:DT om datum en tijd mee te kopieeren.

"Robocopy /?" of http://compdocs.blogspot.com/2007/01/robocopy-switches.html voor meer parameters :)

Kijk ook eens naar RichCopy als GUI voor Robocopy.

  • Rygir
  • Registratie: Mei 2004
  • Laatst online: 01-03 05:45
RolfLobker schreef op dinsdag 18 mei 2010 @ 19:29:
Toch Robocopy. Gebruik /COPY:DT om datum en tijd mee te kopieeren.
RicCopy is die die ik heb gebruikt, de parameters staan daar allemaal in de GUI, en het probleem is dat /copy:DT de datum en tijd van ENKEL BESTANDEN doet :(

  • martinr
  • Registratie: Augustus 2003
  • Laatst online: 24-10 22:47
Version XP026 van Robocopy heeft:
/DCOPY:T :: COPY Directory Timestamps

Zojuist even gecontroleerd, werkt prima

[ Voor 22% gewijzigd door martinr op 18-05-2010 20:09 . Reden: Testje uitgevoerd ]


  • Rygir
  • Registratie: Mei 2004
  • Laatst online: 01-03 05:45
martinr schreef op dinsdag 18 mei 2010 @ 20:07:
Version XP026 van Robocopy heeft:
/DCOPY:T :: COPY Directory Timestamps
Wellll... dat wist ik dus niet. En dat komt doordat dat bij de robocopy GUI, waar die versie bij wordt geleverd ...niet in de GUI aanwezig is. Droge humor.

Dat helpt, dat helpt immens, in die mate dat ik nu verder kan vermits dat de grootste showstopper was.

In tussentijd heb ik dus enkele testjes gedaan en een paar dingen vastgesteld :
  • In combinatie met de schakeloptie
    code:
    1
    
    /move
    wordt de root map, de map die je kopieert de gewijzigd datum aangepast bij aankomst - waarschijnlijk omdat hij de deletes van submappen eerst uitvoert en de datum van die map daardoor is aangepast nog voor die gekopieerd wordt.
  • Nog met diezelfde /move schakeloptie blijkt dat de datum van submappen zonder (file?) children (dus mss met enkel subdirs ook?) wordt niet overgenomen. Zonder de move optie en dus gewoon kopiëren werkt dit wel netjes.
  • De ntfs optie om een bestand te comprimeren wordt niet overgedragen, ik had gehoopt dat hij dat in hetzelfde rijtje als archive en system mee zou nemen. Vermoedelijk zal de encryptie instelling ook niet worden overgenomen.
  • Hij schrijft elk percentage dat hij rapporteert van bestandsoverdrachten ook naar de log.... kan hij dat nu niet tonen op console en niet naar de log schrijven? :D
  • Hij maakt geen gebruik van de shadowcopy service, waardoor de bestanden die ik beveiligd heb tegen lezen (en schrijven - maar ik wil ze wel degelijke kopiëren) en mappen als system volume information (geen ramp, behalve als je vergeten bent het aantal retries te limiteren of de map uit te sluiten). De /b optie kan hier misschien verbetering in brengen afhankelijk van de beveiligingsinstellingen van de backup gebruiker, maar wegens de bijzonder beknopte beschrijving van deze schakeloptie (iets als "werken in backup modus", alsof ik maar moet rieken wat dat is) durf ik die optie niet te gebruiken omdat die misschien nog iets doet (naast als backup user runnen) waar ik pas te laat achter ga komen.

  • martinr
  • Registratie: Augustus 2003
  • Laatst online: 24-10 22:47
- Met /move reageert dit inderdaad anders dan je zou verwachten.
- Je gebruikt wel /E (ipv /S) ? Bij een move van een lege map (waar dus helemaal niets in staat) wordt wel de datum meegenomen.
- Die Compressie blijkt inderdaad niet mee te worden genomen (encryptie niet getest).
Compressie lijkt te omzeilen door er 2 opdrachten van te maken. bijvoorbeeld:
robocopy %SRC%\ %DEST%\ /W:0 /R:0 /MOVE /E /FFT /DST /DCOPY:T /copyall /IA:C /A+:C
robocopy %SRC%\ %DEST%\ /W:0 /R:0 /MOVE /E /FFT /DST /DCOPY:T /copyall /XA:C
Met /IA:C worden alleen gecomprimeerde bestanden geselecteerd, waarbij met /A+:C de compressie wordt aangezet. De andere opdracht verplaatst dan de rest van de bestanden.
- Het zou inderdaad fijn zijn geweest als er verschil mogelijk was tussen output naar het scherm en output naar de log.
- Mappen als "System volume information" en "Recycler" sluit ik meestal uit, ik ben er nog nooit tegenaangelopen dat het account waaronder Robocopy draaide gedocumenteerd ergens geen leesrechten had (wel onterecht, maar was dan een kwestie van rechten corrigeren). Die /b en /z opties heb ik nog nooit gebruikt.

Ik weet niet welk besturingssysteem je gebruikt, in Vista/2008 zijn ook nieuwere versie's van Robocopy te vinden, maar die geven geen duidelijk versienummer weer.

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Geen versienummer?
Hoe kom je daar nou weer bij? :) Die kan je gewoon uit de file properties halen.

Die RobocopyGUI (de oude) is trouwens gebouwd tegen ik meen een XP versie van Robocopy meen ik, dat je daar geen later toegevoegde opties in aantreft is dan wel verklaarbaar.


En sinds Vista heb je ook /EFSRAW om je EFS encrypted bestanden mee te nemen.
Windows 7 heeft weer /MT voor multithreaded copies.
Let ook even op dat mocht je je systeempartitie ooit eens willen kopieren dat je dan /XJ meegeeft (exclude Junctions) - dan krijg je tenminste geen recursing fouten doordat elke keer de symlink van AppData naar C:\documents and Settings\XXX\ApplicationData wordt benaderd.

[ Voor 14% gewijzigd door alt-92 op 31-05-2010 08:30 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • martinr
  • Registratie: Augustus 2003
  • Laatst online: 24-10 22:47
De 'oudere' versie's van robocopy geven standaard bij het uitvoeren ook een versienummer weer. Dat is niet hetzelfde nummer als het versienummer in de file properties. Ik zeg ook niet dat ze geen versienummer hebben, alleen dat nieuwere versie's niet meer standaard een versienummer weergeven.

Zoals bijvoorbeeld de 2e weergegeven regel bij "robocopy /?" :
ROBOCOPY :: Robust File Copy for Windows :: Version XP026

  • Rygir
  • Registratie: Mei 2004
  • Laatst online: 01-03 05:45
martinr schreef op zondag 30 mei 2010 @ 14:22:
- Met /move reageert dit inderdaad anders dan je zou verwachten.
Mij lijkt het een bug maar ik vond niet waar ik zoiets zou moeten rapporteren :) .
[/quote]
- Je gebruikt wel /E (ipv /S) ? Bij een move van een lege map (waar dus helemaal niets in staat) wordt wel de datum meegenomen.
[/quote]
Ik gebruik /E ja, en nee die pakt niet (alle?) de datum mee dan. Of hij pakt hem misschien wel mee, maar verknalt het dan weer door hem opnieuw te wijzigen of zo, dat lijkt mij de meest waarschijnlijke gang van zaken maar resultaat is hetzelfde. Kan zijn dat gewijzigd of gemaakt wel juist was, maar minstens 1 van de 3 tijd-stampers(:p) zat mis.
- Die Compressie blijkt inderdaad niet mee te worden genomen (encryptie niet getest).
Compressie lijkt te omzeilen door er 2 opdrachten van te maken. bijvoorbeeld:
robocopy %SRC%\ %DEST%\ /W:0 /R:0 /MOVE /E /FFT /DST /DCOPY:T /copyall /IA:C /A+:C
robocopy %SRC%\ %DEST%\ /W:0 /R:0 /MOVE /E /FFT /DST /DCOPY:T /copyall /XA:C
Met /IA:C worden alleen gecomprimeerde bestanden geselecteerd, waarbij met /A+:C de compressie wordt aangezet. De andere opdracht verplaatst dan de rest van de bestanden.
Aha, slim gezien, dankuwel!
- Mappen als "System volume information" en "Recycler" sluit ik meestal uit, ik ben er nog nooit tegenaangelopen dat het account waaronder Robocopy draaide gedocumenteerd ergens geen leesrechten had (wel onterecht, maar was dan een kwestie van rechten corrigeren). Die /b en /z opties heb ik nog nooit gebruikt.
Gedocumenteerd? Je bedoelt dat het de "bedoeling" was dat hij geen rechten had?

Ik heb het gewoon onder de standaard gebruiker uitgevoerd en had per ongeluk een verkeerd pad opgegeven naar system volume information map, namelijk een andere drive letter. En dat merkte ik doordat ik met mijn oren vaststelde dat er niks meer gebeurde en dan met performantie grafieken van Windows zelf heb gecontroleerde dat er geen IO meer gebeurde, en dan met filemon even gekeken welke files hij mee bezig was wannnnt hij schreef ook niet naar de console uit. En toen ik eenmaal zag wat er gaande was heb ik ook in de log gekeken die niet gelocked was gelukkig en gezien wat de fout was. Toen heb ik geprobeerd van hem dan maar vlug rechten te geven op sysvolinf, maar dat helpt dus niet.

Klopt het dat een proces in uitvoering geen andere rechten kan krijgen? Dus als een programma herhaaldelijk hetzelfde bestand probeert te openen, en ik pas de rechten op dat bestand aan zodat hij leesrecht heeft, het proces die leesrechten dan niet krijgt totdat je het herstart? Want dat lijkt mij heel raar, maar zo leek het zich toch te gedragen...

In ieder geval, 30seconden maal 10 pogingen, 300 seconden per bestand, en dat voor een map met duizend bestanden in, dan ben je een pak uren kwijt aan niks. En het gekke was, de map waar dat gebeurde had ik zelf leesrechten, maar geen schrijfrechten, dus ik weet niet wat het probleem daar precies was, maar zelfs nadat ik lees & schrijfrechten had gegeven deed hij niet verder. Ik heb hem toen moeten ctrl-c killen en dat doe ik liever niet. Wat ik wil zeggen is, het standaard gedrag van retry tot oneindig kan vervelende gevolgen hebben, en retry tot 10 en 30 seconden is ook al gigantisch lang.
Ik weet niet welk besturingssysteem je gebruikt, in Vista/2008 zijn ook nieuwere versie's van Robocopy te vinden, maar die geven geen duidelijk versienummer weer.
Het is op een XP Pro 32 bit dat ik dat bezig ben/was. En volgens wikipedia is de versie die je download met de GUI van het Microsoft Technet artikel de versie die ook bij Vista zit. In XP zit er standaard geen. En eigenlijk, ik ben geen enkele andere officiële bron tegengekomen dan dat technet artikel... ik vind het vreemd dat er geen knowledgebase artikel over bestaat of zoiets zoals voor pakweg .NET versies of de XP Powertools (tweakUI enzo).

Het is dus de op één na meest recente versie, de enige die is gebundeld met de Robocopy GUI momenteel, en de eerste versie die dcopy:T ondersteund.
alt-92 schreef op zondag 30 mei 2010 @ 23:29:
Geen versienummer?
Hoe kom je daar nou weer bij? :) Die kan je gewoon uit de file properties halen.
"Ja, maar..." die zeggen niet veel, bij mij staat daar "5.1.1.1010" als Bestandsversie en hoe juist dat ook zal zijn, daar had ik niks mee geweten vermits ik op zoek was naar versie XP026, vermits dat die met /Dcopy:T was. Nu bleek dat toevallig de versie te zijn die ik al had, maar dat kon ik daar niet aan zien. Hij zegt 't gelukkig wel als je het zo runt zonder argumenten of met /? :
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP026
-------------------------------------------------------------------------------
Die RobocopyGUI (de oude) is trouwens gebouwd tegen ik meen een XP versie van Robocopy meen ik, dat je daar geen later toegevoegde opties in aantreft is dan wel verklaarbaar.
Inderdaad, alleen vervelend dat ze wel de meegeleverde versie updaten maar dus niet de GUI die er bij hoort. Enthousiaste programmeurs zoals de maker van die GUI zijn waarschijnlijk zeldzaam en met korte aandachtsspannes ;) .
En sinds Vista heb je ook /EFSRAW om je EFS encrypted bestanden mee te nemen.
Dat heb ik gelezen ja, maar het idee daarachter lijkt me niet zozeer dat je de bestanden als "encrypted" overneemt, alleen dat je bestanden ruw kopieert zonder ze eerst te decrypten en dan te encrypten. En naar ik mij herinner is die encryptie gekoppeld aan je systeem, waarschijnlijk aan je gebruikersaccount, dus erg handig is dat niet als je naar een andere machine kopieert voor backup toestanden, want gebruikersaccount weg=bestanden waardeloos. Nu goed, voor andere doeleinden is dat dus net wel wat je wilt. In ieder geval is het nuttig voor backups van bestanden die je niet kan kan decomprimeren omdat je niet de juiste credentials hebt.
Windows 7 heeft weer /MT voor multithreaded copies.
Hoe kan dat eigenlijk helpen? lijkt mij dat je dan vooral je seektimes de hoogte in gaat jagen omdat hij op 2 verschillende bestanden tegelijk bezig is...processor is toch totaal niet de bottleneck?
Let ook even op dat mocht je je systeempartitie ooit eens willen kopieren dat je dan /XJ meegeeft (exclude Junctions) - dan krijg je tenminste geen recursing fouten doordat elke keer de symlink van AppData naar C:\documents and Settings\XXX\ApplicationData wordt benaderd.
Interessante tip, maar eigenlijk zou ik voor een echte backup graag wel hebben dat hij de soft & hardlinks kopieert als soft en hard links. Immers anders weet je niet eens meer waar al die links stonden... als je de doelen niet mee kopieert kan dat vervelend worden maar liever een link die ik moet fixen dan eentje die helemaal weg is en waar ik niks meer van weet... en nog liever eentje die naar de backup is aangepast... bestaat daar iets voor al? Symlinks zijn zo superkrachtig maar onder windows een ramp naar mijn gevoel... en onder linux lastig te beheren nog altijd...

Sowieso, een backup van een bootable HD lijkt me onmogelijk met robocopy? Dat gaat toch nooit bootable zijn? Of... ik meen me te herinneren dat de eerste 512kb of 512 bytes van een partitie de bootinfo zijn, dus als je die met iets anders kopieert, of eventueel met fixMBR terug aanmaakt vanuit het niets, werkt dat dan wel? Ik vraag me af of het niet van belang is dat bepaalde boot bestanden op bepaalde sectoren moeten staan dan, vermits dat bootproces toch filesystem onafhankelijk is...

De opdracht die ik gebruik momenteel is iets als :
robocopy "X:" "Y:\Xdrive" /dcopy:T /E /COPYALL /V /LOG:"V:\X partitie - Robocopy log - Xdrive.Txt" /R:1 /W:3 /ETA /FP /TS /tee /XD "X:\System Volume Information"

Met varianten naargelang het vooral om grote of kleine bestanden gaat (namelijk /np komt er bij bij kleine bestanden en /Tee gaat weg, want anders vertraagt de console het proces teveel en staat er een hoop cijfergespam in de log voor niks).

offtopic:
Voor mensen die nu in robocopy zouden zijn geïnteresseerd maar niet weten waar beginnen :
robocopy is voldoende omdat de installer (die van de GUI bij mij toch) heeft gezorgd dat het overal beschikbaar is (al vind ik het niet terug in de path variabele, hoe kan dat eigenlijk want de exe staat onder progfiles\robocopy :x?).

"X:" is omdat ik de hele drive met alles er in kopieer, X:\ kan je niet opgeven! Hij gaat die \ dan namelijk interpreteren als escape van de " er achter en dan gaat alles de mist in... vrij vervelend vermits in padnamen natuurlijk geen " mag voorkomen sowieso en je nu dus zeker moet zijn dat voor je console, X: op \ staat en niet in een submap zit!

"Y:\Xdrive" zorgt ervoor dat er op Y een nieuwe map wordt aangemaakt, of een bestaand herbruikt. Als hij al bestaat behoudt hij zijn datum, anders krijgt hij die van X:, en vermits die er geen heeft als root (denk ik toch niet) krijgt hij die van de kopieer opdracht. In ieder geval, alles van X: wat hij kan vinden komt in deze submap terecht en nergens anders.

/dcopy:T de hele point van deze thread, bewaar de mapdatums. Werkt prima, uitgezonderd enkele haperingen als je /mov(e) zou gebruiken, wat ik niet doe.

/E submappen kopiëren en ook lege mappen meenemen (wie neemt er nu geen lege mappen mee? heb je die zo vaak per ongeluk dan dat het standaard , vermits S voor submappen logischer is, niet gedaan wordt?)

/COPYALL neemt alle properties over, alle wil zeggen alle security eigenschappen zou hij moeten overnemen evenals tijd, wat hij zeker doet, en ik archive bit en hidden en system flags normaal gezien ook.

/V verbose zou meer moeten uitschrijven naar log/console. Nooit zonder geprobeerd.

/LOG+:"V:\X partitie - Robocopy log - Xdrive.Txt" schrijft weg naar tekstbestand dus, ik neem telkens een unieke naam en toch log+ voor het geval ik per ongeluk een bestaande log heb gepakt, dan is de oude tenminste niet weg.

/R:1 /W:3 dus drie seconden wachten en één keer opnieuw proberen, zodat je per file die niet lukt maar 3 seconden extra verlies maakt en de tijd van 1 poging, onmiddelijk meestal.

/ETA toont de verwachte tijd dat hij klaar gaat zijn, voor het eerste bestand is dit doorgaans vele uren ernaast :D maar naarmate hij langer bezig is worden zijn voorspellingen nauwkeuriger gelukkig.

/FP Schrijft volledig paden weg naar de log... ik veronderstel dat hij als je dat niet doet enkel de bestandsnamen zet wat het moeilijk maken zou.

/TS toont tijdsstemels van de bestanden ook in de logfile.
/tee toont de logfile ook op de console terwijl hij bezig is

/XD "X:\System Volume Information" sluit de opgegeven map (in dit geval system volume information op station x) en alles wat er onder ligt uit.
Pagina: 1