Script för backup till externa hårddiskar
Posted: 2005-04-14 by Alvmarken inEn liten kom-ihåg-postning till mig själv.
För att kopiera filer från serverns lokala hårddisk till ethernetdisk 1 och sedan vidare till och ethernetdisk 2 och dessutom göra det regelbundet med automatik gör så här:
Förutsätter att man har tillgång till robocopy (finns på Windows 2003 Server Rescource Kit).
För att kunna köra robocopy måste man ha Windows 2003 Server, Windows XP, Windows 2000 eller Windows NT4.
Tyvärr måste man installera hela Resource Kit:et innan man får tillgång till just robocopy.exe
Sen kan man såklart kopiera bara den filen och avinstallera Resource Kit:et.
Kan också vara smart att kopiera robocopy.doc så att man får dokumentationen till robocopy.
När man har kopian av robocopy.exe lägger man den förslagsvis i en mapp som ingår i Windows PATH-variabel, t ex c:\windows\system32
Därefter skapar man en scriptfil som innehåller följande:
@echo off
Rem Skapa anslutning till Ethernetdiskarna
Rem Ethernetdisk 1 har den utdelade mappen backup
Rem Ethernetdisk 2 har den utdelade mappen mirror
net use x: \\ethernetdisk1\backup
net use y: \\ethernetdisk2\mirror
Rem Kopiera data från mapp1 på lokaldisk1 till mapp1 på ethernetdisk1 (som ligger i mappen backup)
Rem Kopiera också data från mapp2 på lokaldisk1 till mapp2 på ethernetdisk1
Rem Man kan även prova med växeln /mir (för mirror) för att skapa exakta kopior av mapp och filstrukturen
robocopy /ZB /E /LOG:backuplog_mapp1_"%date%".txt /TEE c:\mapp1 x:\mapp1_"%date%"
robocopy /ZB /E /LOG:backuplog_mapp2_"%date%".txt /TEE c:\mapp2 x:\mapp2_"%date%"
Rem Kopiera sen hela rasket på ethernetdisk1 till ethernetdisk2 men ta bara de mappar och filer som skapats senaste dagen.
robocopy /MIR /LOG:backuplog_mirror_"%date%".txt /NFL x:\ y:\ /maxage:1
Rem Koppla ifrån ethernetdiskarna
net use x: /delete
net use y: /delete
En liten förklaring till växlarna för robocopy:
/ZB = kopiera filer i Restartable Mode. Ifall omstartskopieringen får felet "Access denied" går den automatiskt över i Backup Mode.
/E = kopiera alla undermappar även om de är tomma
/LOG:filnamn = skriv allt som händer till en logfil så att man i efterhand kan kolla vad som kopierats och inte och eventuella fel som uppstått vid kopieringen.
/TEE = Skriv allt som händer till skärmen också så att man kan se i realtid hur kopieringen går.
/MIR = Skapa en exakt kopia av mapp- och filstrukturen (MIRROR)
/NFL = Stänger av loggning av filnamn.
/maxage:1 = Ta inte med filer och mappar där senast modifierad datum är äldre än 1 dag.
När scriptfilen är klar lägger man den på nåt bra ställe på servern som scriptet ska köras på,
t ex i c:\backup
OBS! Scriptet kommer automatiskt att skapa backuploggarna i samma mapp som det ligger i.
Sedan öppnar man Kontrollpanelen->Schemalagda Aktiviteter och skapar en ny schemalagd aktivitet.
Leta upp filen kopieringsscript.bat
Ange namn på aktiviteten t ex Backup
Kryssa i Varje dag under Utför aktiviteten.
Välj Starttid (lämpligt att sätta detta till kvällstid eftersom filerna som ska kopieras används på dagtid)
Välj Startdatum
Ange vilken användare jobbet ska köras som. Kör detta som användare som har backuprättigheter eller administratörsrättigheter på den lokala maskinen.
Välj slutför.
Observera att jag inte tar nåt som helst ansvar för att denna metod fungerar för nån annan än mig själv. Twittra om detta