Tips: makkelijk je documenten backuppen

Status
Niet open voor verdere reacties.

caveman

Meubilair
Lid geworden
18 aug 2001
Berichten
8.787
Met

xcopy d:\documents e:\backup /D /S /Y

in een tekstbestand en opgeslagen als *.bat kan je je documenten kopieren naar een andere schijf/partitie. Na de 1e keer kopieren, worden alleen nog maar gewijzigde en toegevoegde bestanden gekopieerd.

Zie maar.
 
Is het zichtbaar als dit $cript wordt uitgevoerd of merk je er niets van?
 
Laatst bewerkt:
Ik heb er een heel feest rondom heen gemaakt in batch-bestanden.
Werkt prima op een klein detail na..... wat uiteindelijk dusdanig hinderlijk is dat het geheel niet werkt.

Ik wil deze regel dus als backup-tool gebruiken.
Uiteraard wil ik zelf zo min mogelijk input leveren.
Ik zet het geheel dus weg als scheduled task in W2K prof.

Helaas geeft deze regel telkens de vraag of ik een File (F) of een Directory (D) wil copieren.

Is dit op te lossen?
Bijvoorbeeld door automatische invoer (maar hoe doe ik dat?).

groet,
Dave.
 
Clit> met welke windows werk je dan, want het werkt perfect bij mij op XP (staat ook in de XP sectie)
 
W2K prof. Engelse versie.
Ik zal proberen uit te leggen hoe ik deze regel heb benut.

Ten eerste heb ik op mijn C:-schijf een mappen structuur aangemaakt:
C:\batch
C:batch\mappen
C:\batch\log
In batch staan 2 batch-bestanden, in de folder "mappen" staat een text bestand met daarin de lokatie van de data die gebackupped moet worden en in de log-folder wordt simpelweg een log-file bijgehouden.

De 2 batch bestanden zien er als volgt uit:
inhoud: XSTART.BAT

@echo off
echo XSTART.BAT - roept START_BATCH.BAT aan

set pad=\\workstation\batch
set doelpad=\\workstation\backup
set log=%pad%\log
if exist del \\workstation\batch\log\start_batch.log

FOR /F "TOKENS=1,2*" %%A IN ('DATE/T') DO SET DATE=%%B
FOR /F "TOKENS=1,2*" %%A IN ('TIME/T') DO SET TIME=%%A

For /F "EOL=; Tokens=1,2,3 delims=," %%i in (%pad%\mappen\mappen.txt) do call %pad%\start_batch.bat %%i %%j %%k >> %pad%\log\start_batch.log


Inhoud: START_BATCH.BAT

@echo off
echo START_BATCH.BAT

echo *************************************************************
echo Logdatum %date% %time%
echo *************************************************************

xcopy %1 %doelpad%\%date%\%2\%3 /D /S /Y


Nu nog de inhoud van het bestand mappen.txt:
"c:\Documents and Settings\Administrator\My Documents",C,"Documents and Settings\Administrator\My Documents";
"c:\Documents and Settings\Administrator\Desktop",C,"Documents and Settings\Administrator\Desktop";
"D:\Mijn Documenten",D,"Mijn Documenten";

Per regel zijn er 3 variabelen: De gehele locatie, daarna de logische schijf en daarna het pad zonder de logische schijf. Elke regel eindigt met een ; en elke variabele is gescheiden door een ,

Als ik het XSTART.BAT opstart zet hij eerst een paar variabelen die later gebruikt gaan worden. Vervolgens leest hij eerst de datum en de tijd uit en zet deze weg in 2 variabelen die gebruikt worden in het log-bestand START_BATCH.LOG.
Daarna leest hij mappen.txt uit en zet deze 3 variabelen in %i, %j en %k en start na elke keer een regel ingelezen te hebben van mappen.txt het bestand START_BATCH.BAT met de 3 variabelen.

START_BATCH.BAT is vrij simpel. Hierin wordt eerst een beetje text gegenereerd via echo's.
Daarna komt jouw regel met xcopy, alleen heb ik dezse dusdanig aangepast dat er van allerlei variabelen bij in staan.

Het werkt allemaal prima, maar op het moment dat START_BATCH.BAT de xcopy-regel gaat uitvoeren en xcopy ziet geen doeldirectory (dus hij moet een directory aanmaken), dan vraagt xcopy of hij een File (F) of een Directory (D) weg moet schrijven.
Als ik dan een D in typ (per regel van mappen.txt!) gaat hij wel verder.

Je ziet geen output op het scherm, dus je ziet ook de vraag niet om een F of een D in te typen.

Ik weet het nu, en het is terug te lezen in de log-file, maar irritant is het wel.
Als dit nu opgelost kan worden, dan ben ik al weer een stuk verder.

Hierna wil ik namelijk een checksum op de doelmap.
Er moet dan gecheckt worden hoe groot de map is. Als de map groter is dan bijvoorbeeld 500 MB dan moet er een CD-tje gebrandt worden.

Ik hoop dat ik het 1 & ander duidelijk gemaakt heb.
Het is wel een heel verhaal geworden.

Nog even 1 puntje: er wordt nu geen data overschreven omdat ik met een datum werk in het doelpad.
Je krijgt dus een de volgende mappen structuur:
E:\backup

E:\backup\10-01-2003\C\Documents and Settings\Administrator\Desktop
E:\backup\10-01-2003\C\Documents and Settings\Administrator\My Documents
E:\backup\10-01-2003\D\Mijn Documenten

E:\backup\11-01-2003\C\Documents and Settings\Administrator\Desktop
E:\backup\11-01-2003\C\Documents and Settings\Administrator\My Documents
E:\backup\11-01-2003\D\Mijn Documenten

Alvast bedankt voor het doorlezen!

groet,
Dave.
 
Even een zip-bestandje toegevoegd waar alle bestanden in staan. Ik heb ook een leesmij toegevoegd, maar die is ook ingepakt in de ZP-file.
Ik bedenk me nu dat dat niet slim is, want daar staat een kleine installatie tip...
Zet ik de inhoud van Leesmij!.txt hier maar neer :)


Bewaar dit ZIP-bestand in de root van C.
Unzip hem (er wordt een directory Batch gemaakt).
Ik werk in de batch-bestanden met FQDN (Fully Qualified Domain Names) en
heb rechten gezet op deze map en op de doelmap.
In mijn geval is de doelmap E:\backup.
De rechten heb ik hier simpel gehouden: gewoon de mappen delen is
voldoende (delen als respectievelijk Batch en Backup).

Pas XSTART.BAT aan zodat je je eigen werkstation-naam er in zet.
Pas daarna ook mappen.txt aan met de mappen die je graag gebackupped wilt hebben.


groet,
Dave.
 

Bijlagen

  • batch.zip
    11,6 KB · Weergaven: 23
Caveman, is er ook een manier om bestanden die niet meer in de bronmap staan ook automatisch te verwijderen in de doelmap?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan