Ga naar inhoud

Algemeen batchfile voor backup van een map


Anoniem2

Aanbevolen berichten

Naar aanleiding van een vraag van Reintje heb ik een eerder door mij geschreven batchbestand iets aangepast om het makkelijk toe te kunnen passen als [I]zeer algemeen[/I] backup programma voor één map + al zijn sub-mappen.\r\nHet maakt o.a. simpel gebruik van de opdracht xcopy.\r\n\r\nHet enige wat eenmalig vanuit de gebruiker hoeft te gebeuren is in het batchbestand (te openen met Kladblok) de bronmap (Source map ofwel S-MAP), de doelmap (Target map ofwel T-MAP), en de naam van de uiteindelijke map (Target name ofwel T-NAME) in de doelmap in te vullen. Dit hoeft maar één keer te gebeuren.\r\nDaarna geef je het batchbestand een pakkende naam, en vervolgens is het een kwestie van een dubbelklik op het bestand om het kopiëren te starten, of één klik als je het bestand in je snelstart-menu geplaatst mocht hebben.\r\n\r\nWat doet het ?\r\nUiteraard kopieert het de gekozen map naar de vermelde plaats, maar tevens hernoemt het ook de vorige twee backups, zodat je altijd in totaal 3 laatste versies van de oorspronkelijke map hebt.\r\n\r\nMocht bij de start de [I]doelmap[/I] niet gevonden worden dan is dat meestal als gevolg van het niet aangesloten zijn van de juiste externe schijf, en zal het proces afgebroken worden, en het ontbreken gemeld worden.\r\n\r\nLet wel op dat dit bestand geschreven is onder XP, en ik niet kan overzien hoever een later systeem zoals het nogal angstig beveiligde Vista of Windows 7 reageert als je eventueel beschermde mappen wilt kopiëren.\r\nOok wil het voor komen dat programma-mappen zich niet helemaal laten kopiëren als het programma op dat moment in gebruik is. (Als het om een map gaat waarin eigen materiaal opgeslagen staat heb je daar natuurlijk geen last van).\r\nThunderbird is zo\'n programma (hiervoor had ik het oorspronkelijk geschreven), en er is eventueel voor Thunderbird een methode om te checken of Thunderbird draait, zodat het batchbestand daarna [I]de hele profielmap[/I] (inclusief mail) zonder problemen met één klik kan wegzetten. Laat maar weten als je het voor Thunderbird zou willen gebruiken, dan plaats ik ook de hiervoor aangepaste versie.\r\n\r\n\r\nWat te doen?\r\n* Kopieer de tekst naar een Kladblok bestand, en sla het na bewerking op als \'[I]Alle bestanden[/I]\' en noem het een treffende naam (zonder spaties graag) met de extensie .BAT.\r\nMocht het uiteindelijk toch abusievelijk als .TXT opgeslagen worden hernoem je het maar even met de Verkenner.\r\n\r\n* Bewerking[B]:[/B] in het batch-bestand staan bijna bovenaan drie regels (vetgemaakt) om in te vullen:\r\n\r\nSET S-MAP=[B]de bronmap[/B] welke je wilt backuppen.\r\nSET T-MAP=[B]de doelmap[/B] waaronder de drie backups geplaatst gaan worden.\r\nSET T-NAME=[B]de naam[/B] voor de drie mappen\r\n\r\nSpaties in het pad zijn toegestaan, dubbele qoutes rond het pad zijn niet nodig.\r\n\r\n(Waar je wel even goed op moet letten is dat [B]vóór of ná[/B] die drie ingevulde paden/namen achter die drie SET regels GEEN spaties staan, d.w.z. als je na invulling even op de END key drukt, en je er van overtuigt dat er geen spatie achteraan staat is het in orde. Het is maar een weet....)\r\n\r\nDe drie mappen gaan vanzelf heten:\r\n[I]mapnaam[/I]-1, [I]mapnaam[/I]-2, en [I]mapnaam[/I]-3 \r\nwaarvan de[I] mapnaam[/I]-1 steeds de laatst opgeslagen versie is.\r\n\r\nOm het hele pad naar de mappen netjes in het batch-bestand ingevuld te krijgen kan je met je Verkenner in de map gaan staan, en de adresregel kopiëren.\r\nDe doelmap mag trouwens niet \'verborgen\' staan.\r\n\r\n\r\nMochten er vragen zijn dan hoor ik die wel *-)\r\n\r\n[CODE]\r\n@ECHO OFF\r\n\r\nrem Batchfile to make backup of a map with a history of 2, so \r\nrem a total of 3 maps will remain in the target map after regular use.\r\n\r\nrem ==== Below, the user defined Source- and Target map, make \r\nrem ==== sure that maps are not \'hidden\':\r\n\r\n[B]SET S-MAP=[/B]C:\\test bron (example)\r\n[B]SET T-MAP=[/B]H:\\test\\test doel (example)\r\n[B]SET T-NAME=[/B]testnaam (example)\r\n\r\nrem ==== T-NAME (\'testnaam\' as example ) is the name of the map(s) and they wil \r\nrem get the suffix -1, -2, and -3 in the target map, \r\nrem as \'testnaam-1\', \'testnaam-2\', and \'testnaam-3\'\r\nrem ! REMOVE ANY space at the end of the values for these SET lines !\r\n\r\n\r\n\r\n\r\nSET T_ENV=12345\r\nIF NOT %T_ENV%\'==12345\' GOTO NO_ENV\r\n\r\nIF NOT EXIST \"%T-MAP%\" GOTO WRONG_DRIVE\r\n\r\nIF NOT EXIST \"%T-MAP%\\%T-NAME%-3\" GOTO CHECK-2\r\nRD /S /Q \"%T-MAP%\\%T-NAME%-3\"\r\n\r\n:check-2\r\nIF NOT EXIST \"%T-MAP%\\%T-NAME%-2\" GOTO CHECK-3\r\nMOVE /Y \"%T-MAP%\\%T-NAME%-2\" \"%T-MAP%\\%T-NAME%-3\"\r\n\r\n:check-3\r\nIF NOT EXIST \"%T-MAP%\\%T-NAME%-1\" GOTO START-BU\r\nMOVE /Y \"%T-MAP%\\%T-NAME%-1\" \"%T-MAP%\\%T-NAME%-2\"\r\n\r\n:start-bu\r\nECHO.\r\nECHO BACKUP of one entire map including subs, \r\nECHO.\r\nECHO from: %S-MAP%\\*.*\r\nECHO to: %T-MAP%\\%T-NAME%-1\r\nECHO.\r\nECHO Start to copy files....\r\nECHO.\r\nMD \"%T-MAP%\\%T-NAME%-1\"\r\nXCOPY /Y /C /E /H /K \"%S-MAP%\" \"%T-MAP%\\%T-NAME%-1\"\r\n\r\nECHO.\r\nECHO Backup batchfile (%0)\r\nECHO.\r\nECHO DONE\r\nECHO.\r\nECHO If no errors occured, %T-MAP%\\%T-NAME%-1 is created, and prior\r\nECHO versions of that map have got higher numbers now. Nr.1 is the latest.\r\nECHO.\r\nECHO Directory view of the involved maps:\r\nECHO.\r\nDIR %T-MAP%\\%T-NAME%-*\r\nGOTO END\r\n\r\n:WRONG_DRIVE\r\nECHO.\r\nECHO Path to backup to (target map) could not be found...\r\nECHO ( %T-MAP% )\r\nECHO.\r\nECHO Maybe the proper disk is not availlable ?\r\nECHO.\r\nECHO.\r\nGOTO END\r\n\r\n:NO_ENV\r\nECHO.\r\nECHO The sub-system has not enough environment space to run this batchfile safely.\r\nECHO.\r\nECHO Maybe using shorter paths to source and target for backup could solve this.\r\nECHO.\r\n\r\n:END\r\nECHO.\r\nSET S-MAP=\r\nSET T-MAP=\r\nSET T-NAME=\r\n\r\nPAUSE\r\n[/CODE]\r\n\r\n(Edit: \r\nde volgende dag toch nog wat gewijzigd in de lengte van de opdrachtregels met de MOVE opdrachten. Met ingevulde variabelen werden ze onnodig lang, ik heb ze met wat labels opgesplitst.)
Link naar reactie
Natuurlijk is het gewoon een andere manier om iets te doen, ieder doet het zoals het goed uitkomt.\r\nIk doe het zo voor het één klik gemak[B];[/B] niet een programma hoeven starten, niet hoeven zoeken naar welk profiel, en of alle vinkjes wel staan zoals het moet.\r\nEn meerdere backup versies achter de hand te hebben zonder daar iets extra voor te hoeven doen, al hoewel ik ook batchfiles heb waarbij niet meerdere versies achtergelaten worden gewoon omdat de map waar het om gaat te groot is om telkens weer helemaal neer te zetten. Daarvoor gebruik ik dan een xcopy opdracht die alleen nieuwere- of gewijzigde bestanden ververst.\r\n\r\nEigenlijk is er een map op mijn bureaublad waarin meerdere van dit soort batchfiles staan. Dat is eigenlijk ook een lijst met profielen.\r\nOok heb ik daarin wat batchfiles die meerdere andere batchfiles tegelijk starten, om een meer totale backup te maken zodra ik daar meer tijd voor heb.
Link naar reactie
Het is leuk hoe jij dat doet en om nog zo te werken als je er tevreden en gelukkig mee bent. Vroeger deed ik heel veel op die manier en het loopt als een trein. Echter na W98, toen WXP en nu W7 is het aantal nieuwe, gewijzigde en gedelete files zo groot (duizenden) dat ik niet meer op die manier kan werken. Ik heb profielen voor externe HDD\'s [B]maak doel gelijk aan de bron[/B]. Gedelete bestanden in de bron worden ook uit het doel verwijderd. De eerste keer duurt de uitvoering natuurlijk lang en de tweede keer alleen de nieuwe, gewijzigde, gedelete bestanden bijwerken. \r\n\r\nDoor meerdere HDD\'s te gebruiken heb ik meerdere back-ups en komt het overeen met jouw 3 mappenstelsel. Je kunt hele stations doen en de volledige structuur blijft behouden. Niet geschikt als herstelpunt/back-up voor het besturingssysteem.
Link naar reactie
[QUOTE=De Hulk;569307]... Ik heb profielen voor externe HDD\'s [B]maak doel gelijk aan de bron[/B]. Gedelete bestanden in de bron worden ook uit het doel verwijderd. De eerste keer duurt de uitvoering natuurlijk lang en de tweede keer alleen de nieuwe, gewijzigde, gedelete bestanden bijwerken. [/QUOTE]\nDit kan xcopy b.v. niet, maar dat hoeft ook eigenlijk niet als het om een echte backup gaat. Het ongewild verwijderen van een bestand in de bron zou dan ook het doel snel ontdoen van dat bestand, en dan grijp je toch mis. Het heeft dus voor- en nadelen om een exacte kopie te onderhouden.\nVerder onderhoud ik de bronmappen wel zo goed dat ik een eenmaal ingerichte map in de bron laat voor wat deze is, een backup maak, en mijn weg vervolg. Dus verwijderen/opschonen was al gebeurd voordat ik een backup maakte.\n\n\nVoor een backup van het systeem gebruik ik wel een extra programma, XXClone voor XP bijvoorbeeld, waarmee ik een clone direct op een fysieke harde schijf plaats welke dan direct opstartbaar is. \nEn ik heb vorige week Macrium Reflect geïnstalleerd (free version) waarmee ik een partitie extern via USB als een gecomprimeerd bestand kan opslaan, en met een rescue disk kan opstarten om het eventueel terug te zetten.\n\nWe proberen maar wat af :cool:\nEn het is ook inderdaad wel leuk om batchfiles voor je aan het werk te krijgen.
Link naar reactie
[url=http://www.xxclone.com/ixclnfaq.htm]XXClone[/url] is alleen voor NT4, 2000, XP, en Server 2003. Helaas...\nHet werkt vriendelijk, want je start het programma onder Windows, en kiest in het eerste venster wat je ziet bron en doel, en het begint te kopiëren. En het kopieert alleen gebruikte ruimte, en zet dat ongefragmenteerd (aan één stuk) op de doelschijf.\nDaarna kan (moet) je, als je het doel opstartbaar wilt hebben, nog één handeling uitvoeren om de bootsector over te zetten (alleen bij de eerste keer dat je de backup naar die nieuwe schijf maakt).\nHoe XXClone zich houdt met partities (systeemschijf) die deel zijn van een multi-boot weet ik overigens niet.\nMaar XXClone is dus niet voor W7. \n\n[url=http://www.macrium.com/reflectfree.asp]Macrium Reflect™ v4.2 Free Edition[/url] is wel voor W7, die ondersteunt XP, Vista, Windows 7, 32 en native 64 bit, maar daarmee heb ik te weinig ervaring om al te veel te kunnen vertellen. Direkt clonen doet het eigenlijk niet, het zet een (clone) bestand op een andere plaats, b.v. interne- of externe schijf, DVD(\'s), netwerk etc..\nWel vond ik dat het redelijk snel was,11 minuten voor 21 GB naar een 2,5\" USB2 schijfje. Gecomprimeerd leverde dat een bestand van 16 GB op.\nWel even checken of de rescue disk die je kan of moet branden (Linux based) wil opstarten, zo niet dan moet je de tweede versie van die disk proberen ([I]compatibiliteitsversie[/I] of zo, wordt ook meegeleverd). Dat was op mijn systeem in ieder geval nodig, de eerste verdomde het.\nEventueel kan je een bartPE\'s CD versie als rescue disk branden, maar dat is iets meer werk.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...