Datoranvändare som har vuxit upp med avancerade Mac- och Windows-datorer kanske inte är medvetna om det, men en gång för länge sedan kontrollerades alla persondatorer med ett kommandoradgränssnitt. Ja, den klumpiga kommandolådan på din Windows-maskin brukade vara bokstavligen det enda sättet de flesta människor någonsin interagerade med en dator. Kommandoradsgränssnitt förlitade sig starkt på små program som kallas 'skript', som var samlingar av operativsystemkommandon som användes för att utföra vanliga uppgifter.
Även om de grafiska användargränssnitten på dagens datorer är ljusår mer sofistikerade och enkla att använda än de gamla kommandoraderna, finns det fortfarande användningar för den äldre metoden att styra din dator. En av de vanligaste och väl lämpade applikationerna för ett kommandoradsskript är säkerhetskopiering av data. Kommandoradsskript kan automatiseras för att köras när som helst utan någon mänsklig interaktion och har få begränsningar. Det bästa av allt - de är en inbyggd del av Windows-operativsystemet.
Varför kommandoradsskript?
Varför använda ett kommandoradsskript när det finns både kommersiella och gratis backup-program där ute? Tja, kommandoradsskript har ett antal unika fördelar. Här är några av dem:
- Infödda kommandon : Vilket bättre sätt att säkerhetskopiera data än att använda funktionerna som görs tillgängliga genom programmet som skapar data? Oavsett om detta är operativsystemet självt via ett enkelt filkopieringskommandot eller ett databaskommando för att producera en återställbar binär fil, vet källprogrammet bäst hur man säkerhetskopierar sig själv.
- Ultimate Control : Eftersom ett kommandoradsskript följer en enkel steg-för-steg-procedur, vet du exakt vad som händer och kan enkelt ändra beteendet.
- Snabbt : Eftersom allt är ett inbyggt kommando är inget föremål för tolkning. Återigen använder du kommandon som tillhandahålls av själva programmet så att överhead hålls till ett minimum.
- Kraftfullt : Jag har ännu inte sett en säkerhetskopieringsuppgift som inte kan utföras genom ett kommandoradsskript … och jag har gjort några funky grejer. Även om du kanske måste göra en del undersökningar och tester och fel om du verkligen har unika behov, är de inbyggda funktionerna och funktionerna i skriptspråket du använder mer än tillräckligt.
- Gratis och flexibelt : Uppenbarligen kostar ett kommandoradsskript ingenting (utanför tiden för att utveckla det), så du kan kopiera dina skript till valfritt antal maskiner och system med liten eller ingen tid eller kostnad. Jämför detta med kostnaden för att köpa licenser för säkerhetskopieringsprogram på flera servrar och / eller stationära maskiner.
En snabb översikt över Backup Batch-skriptet
De flesta har aldrig lärt sig att använda kommandoradsskript, och det anses vara något av en "svart konst". Men det är faktiskt en ganska enkel sak att lära sig. För att visa kraften i kommandoraden, tillhandahåller jag ett enkelt Windows-batchskript som du kan använda för att säkerhetskopiera dina viktiga data. Detta konfigurerbara och anpassningsbara skript kräver ingen kunskap (eller villighet att lära sig) om Windows-batch-skriptspråk, men om du bestämmer dig för att du vill lära dig mer om Windows-batch-skript, hittar du det här skriptet som en bra utgångspunkt .
Vad backupskriptet gör:
- Skapar hela eller dagliga inkrementella (se nedan för en definition) säkerhetskopiering av filer och mappar som du anger i en separat konfigurationstextfil (se nedan).
- När en mapp heter, säkerhetskopieras den mappen och alla undermappar.
- När en fil heter, säkerhetskopieras bara den filen.
- Komprimerar (dragkedjor) de säkerhetskopierade filerna. När alla filer som ska säkerhetskopieras har kopierats komprimeras de för att spara utrymme. 7-Zip måste installeras på ditt system för att detta ska fungera.
- Daterar den komprimerade filen och flyttar den till en lagringsplats. Efter att säkerhetskopieringsfilerna är komprimerade ges det resulterande arkivet ett filnamn enligt det aktuella datumet och flyttas sedan till en konfigurerad lagringsplats, till exempel en extern enhet eller nätverksplats.
- Rensar efter sig själv. När alla uppgifter är klar rensar batchskriptet upp alla temporära filer som det skapade.
Krav:
Windows 2000 / XP / 2003 / Vista eller nyare
7-Zip (det är gratis)
Konfigurationsfil:
Konfigurationsfilen är helt enkelt en textfil som innehåller filer och mappar för säkerhetskopiering, som matas in en säkerhetskopia per post. Denna fil måste ha namnet “BackupConfig.txt” och vara belägen i samma mapp som säkerhetskopieringsskriptet. Här är ett exempel på en BackupConfig.txt-fil (notera, "#" -tecknet på den första raden indikerar att raden är en kommentar; kommentarer ignoreras alltid när skriptet körs):
# Ange fil- och mappnamn, en per rad.
C: \ Dokument och inställningar \ Jason Faulkner \ Skrivbord C: \ Dokument och inställningar \ Jason Faulkner \ Mina dokument \ Viktiga filer C: \ Skript \ BackupScript.bat
Exemplet ovan skulle säkerhetskopiera Windows-användaren Jason Faulkners skrivbord (och alla mappar på skrivbordet), mappen som heter "Viktiga filer" inuti Mina dokument (och alla mappar inuti "Viktiga filer") och filen "BackupScript.bat" inuti katalogen C: \ Scripts.
Typer av säkerhetskopior:
- Full säkerhetskopia: En komplett kopia av alla filer och mappar (inklusive undermappar) ingår i säkerhetskopian.
- Inkrementell säkerhetskopiering: När en mapp tillhandahålls är det bara filer som skapats eller modifierats på det aktuella datumet
backade upp. När en fil tillhandahålls säkerhetskopieras den alltid, oavsett när den modifierades.
Datasäkerhetskopiera Windows Batch Script
Jag vill betona att detta skript är väldigt grundläggande, eftersom det bara är att skapa säkerhetskopior genom att använda en enkel filkopia. Det finns några konfigurationsalternativ som du kan ställa in:
- Säkerhetskopieringsplatsen där de resulterande komprimerade säkerhetskopiorna lagras.
- Den dag i veckan som hela säkerhetskopian körs (vilken annan dag som helst kör en inkrementell säkerhetskopia).
- Plats där 7-Zip är installerat på din dator. Skriptet ställs automatiskt in så att det ser ut på standardplatsen.
Om du har några förslag eller begäranden om funktionen, vänligen kommentera nedan. Jag skulle verkligen älska att göra en uppföljningsartikel till det här inlägget som innehåller ett uppdaterat skript baserat på läsarens input. Om du behöver instruktioner för hur du "använder" detta skript eller konfigurerar en schemalagd uppgift, titta på länkarna under skriptkällan.
Utan vidare, här är det:
Anmärkning : Eftersom citaten inte visas korrekt nedan (och som ett resultat kan krossa skriptet) har jag inkluderat en vanlig textlänk under skriptet som du kan använda för att få en korrekt källa att kopiera från.
@ECHO OFF REM BackupScript REM Version 1.01, Uppdaterad: 2008-05-21 REM Av Jason Faulkner (Articles132solutions.com) REM Utför fullständig eller inkrementell säkerhetskopiering av mappar och filer som konfigurerats av användaren. REM-användning --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Konfigurationsalternativ --- REM Mappplats där du vill lagra det resulterande säkerhetsarkivet. REM Den här mappen måste finnas. Lägg inte ett '\' i slutet, det läggs till automatiskt. REM Du kan ange en lokal sökväg, en extern enhetsbokstav (ex. F :) eller en nätverksplats (ex. \\ server \ säkerhetskopior) SET BackupStorage = C: \ Backup REM Vilken veckodag vill du utföra en full backup på? REM Ange något av följande: Sön, mån, mån, ons, tors, fre, lör, * REM Varje dag i veckan än den som anges nedan kör en inkrementell säkerhetskopia. REM Om du anger '*' körs en fullständig säkerhetskopia varje gång. SET FullBackupDay = * REM Plats där 7-Zip är installerat på din dator. REM Standard är i en mapp, '7-Zip' i din programkatalog. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Ändra inte något nedan här såvida du inte vet vad du gör. | REM + ------------------------------------------------ ----------------------- + REM Användningsvariabler. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt REM Validering. OM INTE EXIST% filBackupConfig% (ECHO Ingen konfigurationsfil hittades, saknas:% filBackupConfig% GOTO Slut) OM INTE EXIST "% exe7Zip%" (ECHO 7-Zip är inte installerat på platsen:% dir7Zip% ECHO Vänligen uppdatera katalogen där 7-Zip är installerat. GOTO End) REM-säkerhetskopieringsvariabler. FOR / f "tokens = 1, 2, 3, 4 delims = /" %% a IN ('datum / t') DO (SET DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = Full SET swXCopy = / e) ELSE (SET txtBackup = Inkrementell SET swXCopy = / s / d:% FileDate%) ECHO Börjar kopiera filer. OM INTE existerar "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "hopp = 1 tokens = *" %% A IN (% filBackupConfig%) GÖR (SET Aktuell =%% ~ A OM INTE EXISTERAR "! Aktuell! "(ECHO-FEL! Inte hittad:! Aktuell!) ELSE (ECHO-kopiering:! Aktuell! SET Destination =% dirTempBackup% \! Aktuell: ~ 0, 1!%% ~ PnxA REM Bestäm om posten är en fil eller katalog. OM "%% ~ xA" == "" (REM-katalog. XCOPY "! Aktuellt!" "! Destination!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM-fil . COPY / v / y "! Aktuellt!" "! Destination!"))) ECHO Klar kopierade filer. EKO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Om säkerhetskopian finns, ta bort den till förmån för den nya filen. OM EXIST "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Komprimera säkerhetskopierade filer. (Nytt fönster) REM Komprimera filer med 7-Zip i en lägre prioritetsprocess. START "Komprimera säkerhetskopiering. STÄNG INTE" / belownormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Klar komprimering av säkerhetskopierade filer. EKO. ECHO Rengöring. OM EXIST "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Slut ECHO Färdig. EKO. ENDLOCAL
Vanlig textkälla finns tillgänglig här: säkerhetskopiering
Om du behöver hjälp med att komma igång med att implementera detta skript, här är några länkar som hjälper dig:
- Hur man skapar en batch-fil
- Hur man skapar en Windows schemalagd uppgift
Detta är samma skript som jag använder för att säkerhetskopiera min dator dagligen (med ett par modifieringar naturligtvis), så jag vet att det fungerar mycket bra. Jag hoppas att du tycker att det är användbart.
Njut av!
