Computerbrugere, der er vokset op med avancerede Mac- og Windows-computere, er muligvis ikke opmærksomme på det, men en gang for længe siden blev alle personlige computere kontrolleret ved hjælp af en kommandolinjegrænseflade. Ja, den uhyggelige kommandoboks på din Windows-maskine var tidligere bogstaveligt talt den eneste måde, de fleste mennesker nogensinde har interageret med en computer. Kommandolinjegrænseflader var meget afhængige af små programmer kaldet 'scripts', som var samlinger af operativsystemkommandoer, der blev brugt til at udføre fælles opgaver.
Selvom de grafiske brugergrænseflader på nutidens pc'er er lysår mere sofistikerede og lette at bruge end de gamle kommandolinjer, er der stadig brug for den ældre metode til styring af din computer. Et af de mest almindelige og velegnede applikationer til et kommandolinjeskript er backup af data. Kommandolinjeskripter kan automatiseres til at køre når som helst uden nogen menneskelig interaktion og har få begrænsninger. Bedst af alt - de er en indbygget del af Windows-operativsystemet.


Hvorfor kommandolinjeskript?
Hvorfor bruge et kommandolinjeskript, når der er både kommercielle og gratis backup-programmer derude? Nå, kommandolinjens scripts har en række unikke fordele. Her er et par af dem:
- Indfødte kommandoer : Hvilken bedre måde at sikkerhedskopiere data end ved at bruge de funktioner, der stilles til rådighed gennem programmet, der opretter dataene? Uanset om dette er selve operativsystemet via en simpel filkopieringskommando eller en databasekommando til at producere en genoprettelig binær fil, ved kildeprogrammet bedst, hvordan man sikkerhedskopierer sig selv.
- Ultimate Control : Da et kommandolinjeskript følger en simpel trin-for-procedure-procedure, ved du nøjagtigt, hvad der sker, og kan let ændre opførslen.
- Hurtigt : Da alt er en oprindelig kommando, er intet genstand for fortolkning. Igen bruger du kommandoer leveret af selve programmet, så overhead holdes på et minimum.
- Kraftfuld : Jeg har endnu ikke set en sikkerhedskopieringsopgave, som ikke kan udføres gennem et kommandolinjeskript… og jeg har gjort nogle funky ting. Selvom du muligvis bliver nødt til at undersøge og prøve og udføre fejl, hvis du virkelig har unikke behov, er de indbyggede funktioner og funktioner på det scriptingsprog, du bruger, typisk mere end tilstrækkelige.
- Gratis og fleksibel : Naturligvis koster et kommandolinjeskript intet (uden for tiden at udvikle det), så du kan kopiere dine scripts til et hvilket som helst antal maskiner og systemer med lidt til ingen tid eller omkostninger. Sammenlign dette med omkostningerne ved at købe licenser til backupsoftware på flere servere og / eller stationære maskiner.
Et hurtigt overblik over backup-batch-script
De fleste mennesker har aldrig lært at bruge kommandolinjecripts, og det betragtes som noget af en "sort kunst". Imidlertid er det faktisk en temmelig enkel ting at lære. For at demonstrere kommandolinjens kraft leverer jeg et simpelt Windows-batch-script, som du kan bruge til at tage backup af dine vigtige data. Dette konfigurerbare og tilpassbare script kræver ikke nogen viden (eller vilje til at lære) om Windows-batch-scriptingsprog, men hvis du beslutter dig for at lære mere om Windows batch-scripting, finder du, at dette script er et godt udgangspunkt .
Hvad backup-scriptet gør:
- Opretter hele eller daglige inkrementelle (se nedenfor for en definition) sikkerhedskopiering af filer og mapper, du angiver i en separat konfigurationstekstfil (se nedenfor).
- Når en mappe navngives, sikkerhedskopieres den mappe og alle undermapper.
- Når en fil navngives, sikkerhedskopieres netop den fil.
- Komprimerer (lynlås) de sikkerhedskopierede filer. Når alle filer, der skal sikkerhedskopieres, er kopieret, komprimeres de for at spare plads. 7-Zip kræves installeret på dit system for at dette kan fungere.
- Daterer den komprimerede fil og flytter den til en lagerplads. Efter at sikkerhedskopieringsfilerne er komprimeret, får det resulterende arkiv et filnavn i henhold til den aktuelle dato og derefter flyttet til en konfigureret lagerplads, såsom et eksternt drev eller netværksplacering.
- Renser op efter sig selv. Når alle opgaver er afsluttet, renser batch-scriptet alle de midlertidige filer, det oprettede.
Krav:
Windows 2000 / XP / 2003 / Vista eller nyere
7-zip (det er gratis)
Konfigurationsfil:
Konfigurationsfilen er simpelthen en tekstfil, der indeholder filer og mapper til sikkerhedskopiering, der indtastes et backup-element pr. Linje. Denne fil skal navngives “BackupConfig.txt” og være placeret i den samme mappe som backup-scriptet. Her er et eksempel på en BackupConfig.txt-fil (bemærk, at "#" -tegnet på den første linje angiver, at linjen er en kommentar; kommentarer ignoreres altid, når scriptet kører):
# Indtast fil- og mappenavne, en pr. Linje.
C: \ Dokumenter og indstillinger \ Jason Faulkner \ Desktop C: \ Dokumenter og indstillinger \ Jason Faulkner \ Mine dokumenter \ Vigtige filer C: \ Scripts \ BackupScript.bat
Eksemplet ovenfor ville sikkerhedskopiere Windows-bruger Jason Faulkners skrivebord (og alle mapper på skrivebordet), mappen kaldet “Vigtige filer” inde i Mine dokumenter (og alle mapper inde i “Vigtige filer”) og filen “BackupScript.bat” inde biblioteket C: \ Scripts.
Typer af sikkerhedskopier:
- Fuld sikkerhedskopi: En komplet kopi af alle filer og mapper (inklusive undermapper) er inkluderet i sikkerhedskopien.
- Trinvis sikkerhedskopi: Når der findes en mappe, er det kun filer, der er oprettet eller ændret på den aktuelle dato
sikkerhedskopieret. Når der leveres en fil, sikkerhedskopieres den altid, uanset hvornår den blev ændret.
Datasikkerhedskopi Windows Batch-script
Jeg vil understrege, at dette script er meget grundlæggende, da det kun gør at oprette sikkerhedskopier ved at bruge en simpel filkopi. Der er nogle konfigurationsindstillinger, du kan indstille:
- Backup-lagerpladsen, hvor de resulterende komprimerede backup-filer gemmes.
- Den ugedag, hvor den fulde sikkerhedskopi køres (enhver anden dag kører en inkrementel sikkerhedskopi).
- Placering af hvor 7-Zip er installeret på din computer. Scriptet indstilles automatisk til at se på standardplacering.
Hvis du har nogle forslag eller anmodninger om funktion, skal du kommentere nedenfor. Jeg ville virkelig elske at lave en opfølgningsartikel til dette indlæg, der indeholder et opdateret script baseret på læsernes input. Hvis du har brug for instruktioner i, hvordan man "bruger" dette script eller konfigurerer en planlagt opgave, skal du se på linkene under scriptkilden.
Uden videre, her er det:
Bemærk : Da citaterne ikke vises korrekt nedenfor (og som et resultat kan ødelægge scriptet), har jeg inkluderet et almindeligt tekstlink under scriptet, som du kan bruge til at få en nøjagtig kilde til at kopiere fra.
@ECHO OFF REM BackupScript REM version 1.01, Opdateret: 2008-05-21 REM Af Jason Faulkner (Articles132solutions.com) REM Udfører fuld eller inkrementel sikkerhedskopi af mapper og filer konfigureret af brugeren. REM-brug --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Konfigurationsindstillinger --- REM Mappeplacering, hvor du vil gemme det resulterende backup-arkiv. REM Denne mappe skal findes. Sæt ikke et '\' i slutningen, dette tilføjes automatisk. REM Du kan indtaste en lokal sti, et eksternt drevbogstav (f.eks. F :) eller en netværksplacering (eks. \\ server \ sikkerhedskopier) SET BackupStorage = C: \ Backup REM Hvilken ugedag vil du udføre en fuld sikkerhedskopi til? REM Indtast en af følgende: Sol, man, tirs, ons, tors, fre, lør, * REM Enhver ugedag bortset fra den, der er angivet nedenfor, kører en inkrementel sikkerhedskopi. REM Hvis du indtaster '*', køres en fuld sikkerhedskopi hver gang. SET FullBackupDay = * REM Placering, hvor 7-Zip er installeret på din computer. REM Standard er i en mappe, '7-Zip' i dit programfil-bibliotek. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Skift ikke noget nedenfor her, medmindre du ved, hvad du laver. | REM + ------------------------------------------------ ----------------------- + REM Anvendelsesvariabler. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ backup SET filBackupConfig = BackupConfig.txt REM Validering. HVIS IKKE EXIST% filBackupConfig% (ECHO Ingen konfigurationsfil fundet, mangler:% filBackupConfig% GOTO Slut) HVIS IKKE EKSISTER "% exe7Zip%" (ECHO 7-Zip er ikke installeret i lokationen:% dir7Zip% ECHO Venligst opdater mappen, hvor 7-Zip er installeret. GOTO End) REM Backup-variabler. FOR / f "tokens = 1, 2, 3, 4 delims = /" %% a IN ('date / 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 = Fuld SET swXCopy = / e) ELSE (SET txtBackup = Trinvis SET swXCopy = / s / d:% FileDate%) ECHO Begynder at kopiere filer. HVIS IKKE EXIST "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "spring = 1 tokens = *" %% A IN (% filBackupConfig%) DO (SET Current =%% ~ A IF NOT EXIST "! Aktuel! "(ECHO FEJL! Ikke fundet:! Aktuel!) ELSE (ECHO Kopiering:! Nuværende! SET Destination =% dirTempBackup% \! Nuværende: ~ 0, 1!%% ~ PnxA REM Bestem, om posten er en fil eller et bibliotek. HVIS "%% ~ xA" == "" (REM-katalog. XCOPY "! Nuværende!" "! Destination!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (REM-fil . COPY / v / y "! Aktuel!" "! Destination!"))) ECHO Udført kopiering af filer. EKKO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Hvis sikkerhedskopifilen findes, skal du fjerne den til fordel for den nye fil. HVIS EXIST "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Komprimering af sikkerhedskopierede filer. (Nyt vindue) REM Komprimere filer ved hjælp af 7-Zip i en lavere prioritetsproces. START "Komprimering af sikkerhedskopi. IKKE LUKK" / belownormal / vent "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Udført komprimering af sikkerhedskopierede filer. EKKO. ECHO Oprydning. HVIS EXIST "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Slut ECHO færdig. EKKO. ENDLOCAL
Almindelig tekstkilde er tilgængelig her: sikkerhedskopiering
Hvis du har brug for hjælp til at komme i gang med at implementere dette script, er her et par links til at hjælpe dig:
- Sådan opretter du en batch-fil
- Sådan opretter du en Windows-planlagt opgave
Dette er det samme script, som jeg bruger til at sikkerhedskopiere min computer dagligt (med et par ændringer selvfølgelig), så jeg ved, at det fungerer meget godt. Jeg håber, du finder det nyttigt.
God fornøjelse!






