Windows paketna skripta za sigurnosno kopiranje podataka

Korisnici računala koji su odrasli uz napredna Mac i Windows računala možda nisu toga svjesni, ali nekada, davno, sva su osobna računala kontrolirana pomoću sučelja naredbenog retka. Da, taj nezgrapni naredbeni okvir na vašem Windows računalu bio je doslovno jedini način na koji je većina ljudi ikada komunicirala s računalom. Sučelja naredbenog retka uvelike su se oslanjala na male programe zvane 'skripte', koje su bile zbirke naredbi operacijskog sustava koje se koriste za obavljanje uobičajenih zadataka.

Iako su grafička korisnička sučelja današnjih računala svjetlosne godine sofisticiranija i lakša za korištenje od starih naredbenih redaka, još uvijek postoji upotreba starije metode upravljanja vašim računalom. Jedna od najčešćih i najprikladnijih aplikacija za skriptu naredbenog retka je sigurnosna kopija podataka. Skripte naredbenog retka mogu se automatizirati za pokretanje u bilo kojem trenutku bez ljudske interakcije i imaju nekoliko ograničenja. Najbolje od svega – oni su ugrađeni dio operacijskog sustava Windows.

Zašto skripte naredbenog retka?

Zašto koristiti skriptu naredbenog retka kada postoje i komercijalni i besplatni programi za sigurnosno kopiranje? Pa, skripte naredbenog retka imaju niz jedinstvenih prednosti. Evo nekoliko njih:

  • Native Commands : Ima li boljeg načina za sigurnosno kopiranje podataka nego korištenjem funkcija koje su dostupne kroz program koji stvara podatke? Bez obzira radi li se o samom operacijskom sustavu putem jednostavne naredbe za kopiranje datoteke ili naredbi baze podataka za proizvodnju binarne datoteke koja se može vratiti, izvorni program najbolje zna kako napraviti sigurnosnu kopiju.
  • Konačna kontrola : Budući da skripta naredbenog retka slijedi jednostavnu proceduru korak po korak, vi točno znate što se događa i lako možete promijeniti ponašanje.
  • Brzo : Budući da je sve izvorna naredba, ništa nije podložno tumačenju. Opet, koristite naredbe koje daje sam program, tako da su troškovi svedeni na minimum.
  • Snažan : Još nisam vidio zadatak sigurnosnog kopiranja koji se ne može postići putem skripte naredbenog retka... i napravio sam neke funky stvari. Iako ćete možda morati provesti neka istraživanja i pokušaje i pogreške ako imate stvarno jedinstvene potrebe, obično su ugrađene funkcije i značajke skriptnog jezika koji koristite više nego dovoljne.
  • Besplatno i fleksibilno : Očito, skripta naredbenog retka ne košta ništa (izvan vremena za razvoj), tako da možete kopirati svoje skripte na bilo koji broj strojeva i sustava uz malo ili nimalo vremena ili troškova. Usporedite to s cijenom kupnje licenci za softver za sigurnosno kopiranje na nekoliko poslužitelja i/ili stolnih računala.

Kratki pregled paketne skripte za sigurnosnu kopiju

Većina ljudi nikada nije naučila koristiti skriptiranje naredbenog retka, a to se smatra pomalo "crnom umjetnošću". Međutim, to je zapravo prilično jednostavna stvar za naučiti. Kako bih pokazao snagu naredbenog retka, nudim jednostavnu Windows skupnu skriptu koju možete koristiti za sigurnosno kopiranje važnih podataka. Ova konfigurabilna i prilagodljiva skripta ne zahtijeva nikakvo poznavanje (ili spremnost za učenjem) Windows skupnog skriptnog jezika, ali ako odlučite da želite saznati više o Windows skupnim skriptama, smatrat ćete da je ova skripta dobro polazište .

Što radi skripta za sigurnosnu kopiju:

  1. Stvara potpune ili dnevne inkrementalne (pogledajte dolje za definiciju) sigurnosne kopije datoteka i mapa koje navedete u zasebnoj konfiguracijskoj tekstualnoj datoteci (vidi dolje).
    • Kada je mapa imenovana, sigurnosna je kopija te mape i svih podmapa.
    • Kada je datoteka imenovana, sigurnosna je kopija samo te datoteke.
  2. Sažima (zipa) sigurnosne kopije datoteka. Nakon što se kopiraju sve datoteke za sigurnosno kopiranje, one se komprimiraju radi uštede prostora. 7-Zip mora biti instaliran na vašem sustavu da bi to funkcioniralo.
  3. Datira komprimiranu datoteku i premješta je na mjesto za pohranu. Nakon što se datoteke sigurnosne kopije komprimiraju, rezultirajućoj arhivi se dodjeljuje naziv datoteke prema trenutačnom datumu, a zatim se premješta na konfigurirano mjesto za pohranu, kao što je vanjski pogon ili mrežna lokacija.
  4. Čisti za sobom. Nakon što su svi zadaci dovršeni, skupna skripta čisti sve privremene datoteke koje je stvorila.

Zahtjevi:

Windows 2000/XP/2003/Vista ili noviji

7-Zip (besplatno)

Konfiguracijska datoteka:

Konfiguracijska datoteka je jednostavno tekstualna datoteka koja sadrži datoteke i mape za sigurnosnu kopiju, unesena jedna sigurnosna stavka po retku. Ova datoteka mora biti nazvan "BackupConfig.txt" i biti smješten u istoj mapi kao i skripta za sigurnosnu kopiju. Evo primjera datoteke BackupConfig.txt (napomena, znak "#" u prvom retku označava da je redak komentar; komentari se uvijek zanemaruju kada se skripta pokrene):

# Unesite nazive datoteka i mapa, po jedan po retku.

C:Dokumenti i postavkeJason FaulknerDesktop C:Dokumenti i postavkeJason FaulknerMoji dokumentiVažne datoteke C:ScriptsBackupScript.bat

Gornji primjer bi sigurnosno kopirao radnu površinu korisnika Windows Jasona Faulknera (i sve mape na radnoj površini), mapu pod nazivom "Važne datoteke" unutar Mojih dokumenata (i sve mape unutar "Važne datoteke") i datoteku "BackupScript.bat" unutar direktorij C:Scripts.

Vrste sigurnosnih kopija:

  • Potpuna sigurnosna kopija: Potpuna kopija svih datoteka i mapa (uključujući podmape) uključena je u sigurnosnu kopiju.
  • Inkrementalna sigurnosna kopija: kada je mapa dostupna, samo datoteke stvorene ili izmijenjene na trenutni datum su

    sigurnosno kopirano. Kada se datoteka pruži, uvijek se stvara sigurnosna kopija, bez obzira na to kada je promijenjena.

Batch skripta za sigurnosnu kopiju podataka u sustavu Windows

Želim naglasiti da je ova skripta vrlo osnovna, jer sve što radi je stvaranje sigurnosnih kopija korištenjem jednostavne kopije datoteke. Postoje neke opcije konfiguracije koje možete postaviti:

  • Mjesto pohrane sigurnosne kopije gdje se pohranjuju rezultirajuće komprimirane sigurnosne kopije.
  • Dan u tjednu kada se izvodi potpuna sigurnosna kopija (bilo koji drugi dan bi pokrenuo inkrementalno sigurnosno kopiranje).
  • Mjesto gdje je 7-Zip instaliran na vašem računalu. Skripta je automatski postavljena da izgleda na zadanom mjestu.

Ako imate prijedloge ili zahtjeve za značajkama, komentirajte u nastavku. Zaista bih volio napraviti nastavak ovog članka koji sadrži ažuriranu skriptu temeljenu na unosu čitatelja. Ako trebate upute o tome kako "upotrijebiti" ovu skriptu ili postaviti zakazani zadatak, pogledajte veze ispod izvora skripte.

Bez daljnjega, evo ga:

Bilješka: Budući da se citati ne prikazuju ispravno u nastavku (i kao rezultat toga mogu zabrljati skriptu), uključio sam običan tekstualni link ispod skripte koji možete koristiti za dobivanje točnog izvora za kopiranje.

@ECHO OFF REM BackupScript REM verzija 1.01, ažurirano: 2008-05-21 REM Jason Faulkner (articles[-at-]132solutions.com) REM Izvodi potpune ili inkrementalne sigurnosne kopije mapa i datoteka koje je konfigurirao korisnik. Upotreba REM-a--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---Opcije konfiguracije--- REM Lokacija mape u koju želite pohraniti rezultirajuću arhivu sigurnosne kopije. REM Ova mapa mora postojati. Nemojte stavljati '' na kraj, ovo će se automatski dodati. REM Možete unijeti lokalni put, slovo vanjskog pogona (npr. F:) ili mrežnu lokaciju (npr. \serverbackups) SET BackupStorage=C:Backup REM Na koji dan u tjednu želite izvršiti potpunu sigurnosnu kopiju? REM Unesite jedno od sljedećeg: ned, pon, uto, sri, čet, pet, sub, * REM Svaki dan u tjednu osim dolje navedenog pokrenut će inkrementalnu sigurnosnu kopiju. REM Ako unesete '*', svaki put će se pokrenuti potpuna sigurnosna kopija. SET FullBackupDay=* REM Mjesto gdje je 7-Zip instaliran na vašem računalu. REM Zadana postavka je u mapi, '7-Zip' u vašem direktoriju Program Files. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +--------------------------------------- --------------------------------+ REM | Ne mijenjajte ništa u nastavku osim ako ne znate što radite. | REM +------------------------------------------------ -----------------------+ REM Varijable korištenja. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM Validacija. AKO NE POSTOJI %filBackupConfig% ( ECHO Konfiguracijska datoteka nije pronađena, nedostaje: %filBackupConfig% GOTO End ) AKO NE POSTOJI "%exe7Zip%" ( ECHO 7-Zip nije instaliran na lokaciji: %dir7Zip% ECHO Ažurirajte direktorij gdje 7-Zip je instaliran. GOTO End ) REM sigurnosne varijable. FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('datum /t') UČINITI ( POSTAVI DayOfWeek=%%a SET NowDate=%%d-%%b-%%c SET FileDate=%%b-%%c-%%d ) IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek% IF /i {%FullBackupDay%}=={%DayOfWeek%} ( POSTAVI txtBackup =Puni SET swXCopy=/e ) ELSE ( SET txtBackup=Inkrementalni SET swXCopy=/s /d:%FileDate% ) ECHO Početak kopiranja datoteka. IF NOT EXIST "%dirTempBackup%" MKDIR "%dirTempBackup%" ZA /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) UČINITE ( SET Current=%%~A IF NOT EXIST "!Trenutno! " ( ECHO ERROR! Nije pronađeno: !Current! ) ELSE ( ECHO Copying: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM Odredite je li unos datoteka ili direktorij. AKO "%%~xA"=="" ( REM direktorij. XCOPY "!Trenutačno!" "!Odredište!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( REM datoteka. COPY /v /y "!Trenutačno!" "!Odredište!" ) ) ) ECHO Završeno kopiranje datoteka. JEKA. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Ako sigurnosna kopija postoji, uklonite je u korist nove datoteke. IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Sažimanje sigurnosno kopiranih datoteka. (Novi prozor) REM Komprimirajte datoteke koristeći 7-Zip u procesu nižeg prioriteta. START "Komprimiranje sigurnosne kopije. NEMOJTE ZATVORITI" /ispod normalnog / pričekajte "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Dovršeno sažimanje sigurnosno kopiranih datoteka. JEKA. ECHO Čišćenje. IF EXIST "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. :End ECHO Završeno. JEKA. ENDLOKALNO

Izvor običnog teksta dostupan je ovdje: sigurnosna kopija

Ako trebate pomoć za početak implementacije ove skripte, evo nekoliko veza koje će vam pomoći:

  • Kako stvoriti Batch datoteku
  • Kako stvoriti Windows zakazani zadatak

Ovo je ista skripta koju svakodnevno koristim za sigurnosno kopiranje svog računala (uz nekoliko izmjena, naravno), tako da znam da radi vrlo dobro. Nadam se da će vam biti od koristi.

Uživati!