Dávkový skript systému Windows na zálohovanie údajov

Používatelia počítačov, ktorí vyrástli na pokročilých počítačoch Mac a Windows, si to možno neuvedomujú, ale kedysi, veľmi dávno, boli všetky osobné počítače ovládané pomocou rozhrania príkazového riadka. Áno, to neohrabané príkazové pole na vašom počítači so systémom Windows bývalo doslova jediným spôsobom, akým väčšina ľudí kedy interagovala s počítačom. Rozhrania príkazového riadku sa vo veľkej miere spoliehali na malé programy nazývané „skripty“, čo boli kolekcie príkazov operačného systému používané na vykonávanie bežných úloh.

Aj keď sú grafické používateľské rozhrania dnešných počítačov o svetelné roky sofistikovanejšie a jednoduchšie na používanie ako staré príkazové riadky, stále existujú spôsoby, ako používať starší spôsob ovládania počítača. Jednou z najbežnejších a veľmi vhodných aplikácií pre skripty príkazového riadku je zálohovanie údajov. Skripty príkazového riadka je možné zautomatizovať tak, aby sa spúšťali kedykoľvek bez akejkoľvek ľudskej interakcie a majú niekoľko obmedzení. Najlepšie zo všetkého je, že sú integrovanou súčasťou operačného systému Windows.

Prečo skripty príkazového riadku?

Prečo používať skript príkazového riadka, keď existujú komerčné aj bezplatné zálohovacie programy? Skripty príkazového riadku majú množstvo jedinečných výhod. Tu je niekoľko z nich:

  • Natívne príkazy : Aký je lepší spôsob zálohovania údajov ako pomocou funkcií dostupných prostredníctvom programu, ktorý údaje vytvára? Či už ide o samotný operačný systém prostredníctvom jednoduchého príkazu na kopírovanie súboru alebo databázového príkazu na vytvorenie obnoviteľného binárneho súboru, zdrojový program vie najlepšie, ako sa zálohovať.
  • Dokonalá kontrola : Keďže skript príkazového riadka sleduje jednoduchý postup krok za krokom, presne viete, čo sa deje, a môžete jednoducho upraviť správanie.
  • Rýchlo : Keďže všetko je pôvodný príkaz, nič nepodlieha výkladu. Opäť používate príkazy poskytované samotným programom, takže réžia je obmedzená na minimum.
  • Výkonný : Ešte som nevidel úlohu zálohovania, ktorá sa nedá vykonať pomocou skriptu príkazového riadka... a urobil som nejaké zábavné veci. Aj keď možno budete musieť urobiť nejaký výskum a pokusy a omyly, ak máte skutočne jedinečné potreby, zvyčajne sú vstavané funkcie a vlastnosti skriptovacieho jazyka, ktorý používate, viac než dostatočné.
  • Bezplatné a flexibilné : Je zrejmé, že skript príkazového riadka nestojí nič (okrem času potrebného na jeho vývoj), takže svoje skripty môžete skopírovať na ľubovoľný počet strojov a systémov s minimálnym alebo žiadnym časom alebo nákladmi. Porovnajte to s nákladmi na nákup licencií na zálohovací softvér na niekoľkých serveroch a/alebo stolných počítačoch.

Rýchly prehľad skriptu zálohovania

Väčšina ľudí sa nikdy nenaučila používať skriptovanie v príkazovom riadku a považuje sa to do istej miery za „čierne umenie“. V skutočnosti je to však celkom jednoduché naučiť sa. Aby som demonštroval silu príkazového riadku, poskytujem jednoduchý dávkový skript systému Windows, ktorý môžete použiť na zálohovanie dôležitých údajov. Tento konfigurovateľný a prispôsobiteľný skript nevyžaduje žiadne znalosti (alebo ochotu učiť sa) dávkového skriptovacieho jazyka Windows, ale ak sa rozhodnete, že sa chcete dozvedieť viac o dávkovom skriptovaní Windows, zistíte, že tento skript je dobrým štartovacím miestom. .

Čo robí zálohovací skript:

  1. Vytvára úplné alebo denné prírastkové (definícia pozri nižšie) zálohy súborov a priečinkov, ktoré určíte v samostatnom konfiguračnom textovom súbore (pozri nižšie).
    • Keď je priečinok pomenovaný, tento priečinok a všetky podpriečinky sa zálohujú.
    • Keď je súbor pomenovaný, zálohuje sa iba tento súbor.
  2. Komprimuje (zazipuje) zálohované súbory. Po skopírovaní všetkých súborov na zálohovanie sa tieto skomprimujú, aby sa ušetrilo miesto. Aby to fungovalo, je potrebné, aby ste na vašom systéme nainštalovali 7-Zip.
  3. Uvedie dátum v komprimovanom súbore a presunie ho na miesto uloženia. Po skomprimovaní záložných súborov sa výslednému archívu pridelí názov súboru podľa aktuálneho dátumu a potom sa presunie do nakonfigurovaného úložného priestoru, ako je napríklad externý disk alebo sieťové umiestnenie.
  4. Upratuje po sebe. Po dokončení všetkých úloh dávkový skript vyčistí všetky dočasné súbory, ktoré vytvoril.

Požiadavky:

Windows 2000/XP/2003/Vista alebo novší

7-Zip (je to zadarmo)

Konfiguračný súbor:

Konfiguračný súbor je jednoducho textový súbor, ktorý obsahuje súbory a priečinky na zálohovanie, do každého riadka sa zadáva jedna záloha. Tento súbor musieť mať názov „BackupConfig.txt“ a nachádza sa v rovnakom priečinku ako skript zálohy. Tu je príklad súboru BackupConfig.txt (všimnite si, že znak „#“ na prvom riadku označuje, že riadok je komentár; komentáre sa pri spustení skriptu vždy ignorujú):

# Zadajte názvy súborov a priečinkov, jeden na riadok.

C:Dokumenty a nastaveniaJason FaulknerPracovný počítač C:Dokumenty a nastaveniaJason FaulknerMoje dokumentyDôležité súbory C:ScriptsBackupScript.bat

Vyššie uvedený príklad by zálohoval pracovnú plochu používateľa systému Windows Jasona Faulknera (a všetky priečinky na pracovnej ploche), priečinok s názvom „Important Files“ v priečinku Moje dokumenty (a všetky priečinky v priečinku „Important Files“) a súbor „BackupScript.bat“ vo vnútri adresár C:Scripts.

Typy záloh:

  • Úplná záloha: Úplná kópia všetkých súborov a priečinkov (vrátane podpriečinkov) je zahrnutá v zálohe.
  • Prírastkové zálohovanie: Keď je poskytnutý priečinok, iba súbory vytvorené alebo upravené v ňom aktuálny dátum

    zálohované. Keď je súbor poskytnutý, vždy sa zálohuje bez ohľadu na to, kedy bol upravený.

Dávkový skript zálohovania údajov systému Windows

Chcem zdôrazniť, že tento skript je veľmi jednoduchý, pretože všetko, čo robí, je vytváranie záloh pomocou jednoduchej kópie súboru. Existuje niekoľko možností konfigurácie, ktoré môžete nastaviť:

  • Miesto zálohovania, kde sú uložené výsledné komprimované súbory zálohy.
  • Deň v týždni, kedy sa spustí úplná záloha (akýkoľvek iný deň by spustil prírastkovú zálohu).
  • Miesto, kde je na vašom počítači nainštalovaný 7-Zip. Skript je automaticky nastavený tak, aby vyzeral v predvolenom umiestnení.

Ak máte nejaké návrhy alebo požiadavky na funkcie, uveďte komentár nižšie. Naozaj by som rád napísal článok nadväzujúci na tento príspevok, ktorý obsahuje aktualizovaný skript na základe vstupu čitateľa. Ak potrebujete pokyny, ako „používať“ tento skript alebo nastaviť naplánovanú úlohu, pozrite si odkazy pod zdrojom skriptu.

Bez ďalších okolkov, tu je:

Poznámka: Keďže úvodzovky sa nižšie nezobrazujú správne (a v dôsledku toho môžu pokaziť skript), vložil som pod skript jednoduchý textový odkaz, ktorý môžete použiť na získanie presného zdroja na kopírovanie.

@ECHO OFF REM BackupScript REM Verzia 1.01, Aktualizované: 2008-05-21 REM Jason Faulkner (články[-at-]132solutions.com) REM Vykonáva úplné alebo prírastkové zálohy priečinkov a súborov nakonfigurovaných používateľom. Použitie REM--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---Možnosti konfigurácie--- REM Umiestnenie priečinka, do ktorého chcete uložiť výsledný archív záloh. REM Tento priečinok musí existovať. Na koniec nevkladajte '', pridá sa automaticky. REM Môžete zadať lokálnu cestu, písmeno externého disku (napr. F:) alebo sieťové umiestnenie (napr. \serverbackups) SET BackupStorage=C:Backup REM V ktorý deň v týždni chcete vykonať úplnú zálohu? REM Zadajte jedno z nasledujúcich: Ne, Po, Ut, St, Št, Pia, So, * REM V ktorýkoľvek deň v týždni, ktorý nie je uvedený nižšie, sa spustí prírastkové zálohovanie. REM Ak zadáte '*', vždy sa spustí úplná záloha. SET FullBackupDay=* REM Miesto, kde je na vašom počítači nainštalovaný 7-Zip. REM Predvolená hodnota je v priečinku '7-Zip' v adresári Program Files. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +--------------------------------------- --------------------------------+ REM | Tu nižšie nič nemeňte, pokiaľ neviete, čo robíte. | REM +------------------------------------------------- -----------------------+ REM Premenné použitia. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%záloha SET filBackupConfig=BackupConfig.txt Validácia REM. AK NEEXISTUJE %filBackupConfig% ( ECHO Nenašiel sa žiadny konfiguračný súbor, chýba: %filBackupConfig% GOTO End ) AK NEEXISTUJE "%exe7Zip%" ( ECHO 7-Zip nie je nainštalovaný v umiestnení: %dir7Zip% ECHO Aktualizujte prosím adresár, kde 7-Zip je nainštalovaný GOTO Koniec ) Premenné zálohy REM. FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('dátum /t') Urobte ( SET DayOfWeek=%%a SET NowDate=%%d-%%b-%%c SET FileDate=%%b-%%c-%%d ) IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek% IF /i {%FullBackupDay%}=={%DayOfWeek%} (SET txtBackup =Úplná SET swXCopy=/e ) ELSE ( SET txtBackup=Prírastková SET swXCopy=/s /d:%FileDate% ) ECHO Začína sa kopírovať súbory. AK NEEXISTUJE "%dirTempBackup%" MKDIR "%dirTempBackup%" PRE /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) Urobte ( SET Current=%%~A AK NEEXISTUJE "!Aktuálne! " ( CHYBA ECHO! Nenájdené: !Aktuálne! ) ELSE ( Kopírovanie ECHO: !Aktuálne! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM Určite, či je záznam súborom alebo adresárom. AK "%%~xA"=="" ( Adresár REM. XCOPY "!Aktuálny!" "!Cieľ!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( Súbor REM. KOPÍROVAŤ /v /y "!Aktuálne!" "!Cieľ!" ) ) ) ECHO Kopírovanie súborov je dokončené. ECHO. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Ak záložný súbor existuje, odstráňte ho v prospech nového súboru. AK EXISTUJE "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Komprimovanie zálohovaných súborov. (Nové okno) REM Komprimujte súbory pomocou 7-Zip v procese s nižšou prioritou. ŠTART "Komprimovanie zálohy. NEZATVORTE" /belownormal /čakajte "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Hotová kompresia zálohovaných súborov. ECHO. ECHO Upratovanie. AK EXISTUJE "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. :Koniec ECHO Dokončené. ECHO. ENDLOCAL

Zdroj obyčajného textu je k dispozícii tu: záloha

Ak potrebujete pomoc so začiatkom implementácie tohto skriptu, tu je niekoľko odkazov, ktoré vám pomôžu:

  • Ako vytvoriť dávkový súbor
  • Ako vytvoriť plánovanú úlohu systému Windows

Toto je rovnaký skript, ktorý používam na denné zálohovanie počítača (samozrejme s niekoľkými úpravami), takže viem, že funguje veľmi dobre. Dúfam, že to považujete za užitočné.

Užite si to!