Windows Batch Script Para Mag-backup ng Data

Ang mga gumagamit ng computer na lumaki sa mga advanced na Mac at Windows na mga computer ay maaaring hindi alam ito, ngunit minsan, matagal na ang nakalipas, ang lahat ng mga personal na computer ay kinokontrol gamit ang isang command-line interface. Oo, ang clunky command box na iyon sa iyong Windows machine ay dating literal ang tanging paraan na nakipag-ugnayan ang karamihan sa mga tao sa isang computer. Ang mga interface ng command line ay lubos na umaasa sa mga maliliit na programa na tinatawag na 'mga script', na mga koleksyon ng mga command ng operating system na ginagamit upang magsagawa ng mga karaniwang gawain.

Bagama't ang mga graphical user interface ng mga PC ngayon ay light-years na mas sopistikado at madaling gamitin kaysa sa mga lumang command line, may mga gamit pa rin para sa mas lumang paraan ng pagkontrol sa iyong computer. Ang isa sa mga pinaka-karaniwan, at mahusay na angkop, mga application para sa isang command line script ay data backup. Maaaring i-automate ang mga script ng command line na tumakbo anumang oras nang walang anumang pakikipag-ugnayan ng tao, at may kaunting mga limitasyon. Pinakamaganda sa lahat – ang mga ito ay isang built-in na bahagi ng Windows operating system.

Bakit Mga Script ng Command Line?

Bakit gagamit ng command-line script kung mayroong parehong komersyal at libreng backup na mga programa sa labas? Well, ang mga script ng command-line ay may ilang natatanging pakinabang. Narito ang ilan sa kanila:

  • Mga Katutubong Utos : Ano ang mas mahusay na paraan upang mag-backup ng data kaysa sa paggamit ng mga function na ginawang available sa pamamagitan ng program na lumilikha ng data? Kung ito man ang mismong operating system sa pamamagitan ng isang simpleng file copy command o isang database command para makagawa ng isang maibabalik na binary file, ang source program ang pinakamahusay na nakakaalam kung paano i-back up ang sarili nito.
  • Ultimate Control : Dahil ang isang command line script ay sumusunod sa isang simpleng hakbang-hakbang na pamamaraan, alam mo kung ano mismo ang nangyayari at madaling baguhin ang pag-uugali.
  • Mabilis : Dahil ang lahat ay katutubong utos, walang napapailalim sa interpretasyon. Muli, gumagamit ka ng mga utos na ibinigay ng mismong programa, kaya ang overhead ay pinananatiling pinakamababa.
  • Makapangyarihan : Wala pa akong nakikitang backup na gawain na hindi magagawa sa pamamagitan ng script ng command line... at nakagawa na ako ng ilang nakakatuwang bagay. Bagama't maaaring kailanganin mong magsagawa ng ilang pananaliksik at pagsubok at error kung mayroon kang talagang kakaibang mga pangangailangan, kadalasan ang mga built in na function at feature ng scripting language na iyong ginagamit ay higit pa sa sapat.
  • Libre at Flexible : Malinaw, ang isang command line script ay walang gastos (sa labas ng oras upang bumuo nito), kaya maaari mong kopyahin ang iyong mga script sa anumang bilang ng mga makina at system na may kaunti hanggang walang oras o gastos. Ihambing ito sa halaga ng pagbili ng mga lisensya para sa backup na software sa ilang mga server at/o mga desktop machine.

Isang Mabilis na Pangkalahatang-ideya Ng Backup Batch Script

Karamihan sa mga tao ay hindi kailanman natutong gumamit ng command-line scripting, at ito ay itinuturing na isang "black art". Gayunpaman, ito ay talagang isang medyo simpleng bagay na matutunan. Upang ipakita ang kapangyarihan ng command line, nagbibigay ako ng simpleng Windows batch script na magagamit mo para i-backup ang iyong mahalagang data. Ang nako-configure at nako-customize na script na ito ay hindi nangangailangan ng anumang kaalaman (o pagpayag na matuto) ng Windows batch scripting language, ngunit kung magpasya kang gusto mong matuto nang higit pa tungkol sa Windows batch scripting, makikita mong ang script na ito ay isang magandang panimulang lugar .

Ano ang ginagawa ng backup na script:

  1. Gumagawa ng buo o araw-araw na incremental (tingnan sa ibaba para sa isang kahulugan) na mga backup ng mga file at folder na iyong tinukoy sa isang hiwalay na configuration text file (tingnan sa ibaba).
    • Kapag pinangalanan ang isang folder, ang folder na iyon at ang lahat ng mga sub-folder ay naka-back up.
    • Kapag pinangalanan ang isang file, ang file na iyon lang ang naka-back up.
  2. Kino-compress (zip) ang mga naka-back up na file. Matapos makopya ang lahat ng mga file na iba-back up, i-compress ang mga ito upang makatipid ng espasyo. Kinakailangang mai-install ang 7-Zip sa iyong system para gumana ito.
  3. Itinatakda ang petsa ng naka-compress na file at inililipat ito sa isang lokasyon ng imbakan. Pagkatapos ma-compress ang mga backup na file, ang resultang archive ay bibigyan ng isang pangalan ng file ayon sa kasalukuyang petsa at pagkatapos ay inilipat sa isang naka-configure na lokasyon ng imbakan, tulad ng isang panlabas na drive o lokasyon ng network.
  4. Naglilinis pagkatapos ng sarili. Matapos makumpleto ang lahat ng gawain, nililinis ng batch script ang lahat ng pansamantalang file na nilikha nito.

Mga kinakailangan:

Windows 2000/XP/2003/Vista o mas bago

7-Zip (libre ito)

File ng configuration:

Ang configuration file ay simpleng text file na naglalaman ng mga file at folder na i-backup, na nagpasok ng isang backup na item sa bawat linya. Ang file na ito dapat pinangalanang "BackupConfig.txt" at matatagpuan sa parehong folder bilang backup na script. Narito ang isang halimbawa ng BackupConfig.txt file (tandaan, ang "#" na character sa unang linya ay nagpapahiwatig na ang linya ay isang komento; ang mga komento ay palaging binabalewala kapag tumatakbo ang script):

# Ipasok ang mga pangalan ng file at folder, isa bawat linya.

C:Mga Dokumento at SettingJason FaulknerDesktop C:Mga Dokumento at SettingJason FaulknerAking Mga DokumentoMahahalagang File C:ScriptsBackupScript.bat

Ang halimbawa sa itaas ay magba-backup sa desktop ng Windows user na si Jason Faulkner (at lahat ng folder sa desktop), ang folder na tinatawag na "Mahalagang File" sa loob ng Aking Mga Dokumento (at lahat ng folder sa loob ng "Mahalagang File") at ang file na "BackupScript.bat" sa loob ang direktoryo ng C:Scripts.

Mga uri ng backup:

  • Buong backup: Isang kumpletong kopya ng lahat ng mga file at folder (kabilang ang mga sub-folder) ay kasama sa backup.
  • Incremental backup: Kapag may ibinigay na folder, mga file lang ang ginawa o binago sa kasalukuyang petsa ay

    sinuportahan. Kapag ang isang file ay ibinigay, ito ay palaging naka-back up, hindi alintana kung kailan ito binago.

Ang Data Backup Windows Batch Script

Nais kong bigyang-diin ang script na ito ay napaka-basic, dahil ang lahat ng ginagawa nito ay lumikha ng mga backup sa pamamagitan ng paggamit ng isang simpleng kopya ng file. Mayroong ilang mga opsyon sa pagsasaayos na maaari mong itakda:

  • Ang lokasyon ng backup na imbakan kung saan iniimbak ang mga resultang naka-compress na backup na file.
  • Ang araw ng linggo ay tatakbo ang buong backup (anumang ibang araw ay magpapatakbo ng incremental backup).
  • Lokasyon kung saan naka-install ang 7-Zip sa iyong computer. Ang script ay awtomatikong nakatakda upang tumingin sa default na lokasyon.

Kung mayroon kang anumang mga mungkahi o mga kahilingan sa tampok, mangyaring magkomento sa ibaba. Gusto ko talagang gumawa ng follow up na artikulo sa post na ito na nagtatampok ng na-update na script batay sa input ng mambabasa. Kung kailangan mo ng mga tagubilin kung paano "gamitin" ang script na ito o mag-set up ng nakaiskedyul na gawain, tingnan ang mga link sa ibaba ng source ng script.

Nang walang karagdagang ado, narito ito:

Tandaan: Dahil ang mga quote ay hindi ipinapakita nang tama sa ibaba (at bilang isang resulta ay maaaring magulo ang script), nagsama ako ng isang plain text link sa ibaba ng script na magagamit mo upang makakuha ng tumpak na pinagmulan upang kopyahin.

@ECHO OFF REM BackupScript REM Bersyon 1.01, Na-update: 2008-05-21 REM Ni Jason Faulkner (mga artikulo[-at-]132solutions.com) REM Nagsasagawa ng buo o incremental na pag-backup ng mga folder at file na na-configure ng user. Paggamit ng REM--- REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM ---Configuration Options--- Lokasyon ng REM Folder kung saan mo gustong iimbak ang resultang backup archive. REM Dapat na umiiral ang folder na ito. Huwag maglagay ng '' sa dulo, awtomatiko itong idadagdag. REM Maaari kang magpasok ng isang lokal na landas, isang external na drive letter (hal. F:) o isang lokasyon ng network (hal. \serverbackups) SET BackupStorage=C:Backup REM Aling araw ng linggo mo gustong magsagawa ng buong backup? REM Ipasok ang isa sa mga sumusunod: Linggo, Lun, Martes, Miy, Huwebes, Biy, Sab, * REM Anumang araw ng linggo maliban sa tinukoy sa ibaba ay magpapatakbo ng incremental na backup. REM Kung ilalagay mo ang '*', isang buong backup ay tatakbo sa bawat oras. SET FullBackupDay=* REM Lokasyon kung saan naka-install ang 7-Zip sa iyong computer. REM Ang default ay nasa isang folder, '7-Zip' sa iyong direktoryo ng Program Files. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +-------------------------------------- --------------------------------+ REM | Huwag baguhin ang anuman sa ibaba dito maliban kung alam mo kung ano ang iyong ginagawa. | REM +------------------------------------------------ ------------------------+ Mga variable ng Paggamit ng REM. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM Validation. IF NOT EXIST %filBackupConfig% ( ECHO Walang nahanap na configuration file, nawawala: %filBackupConfig% GOTO End ) KUNG WALA "%exe7Zip%" ( Hindi naka-install ang ECHO 7-Zip sa lokasyon: %dir7Zip% ECHO Mangyaring i-update ang direktoryo kung saan Naka-install ang 7-Zip. GOTO End ) Mga variable ng REM Backup. PARA /f "tokens=1,2,3,4 delims=/ " %%a SA ('petsa /t') GAWIN ( Itakda ang ArawOfWeek=%%a Itakda NgayonPetsa=%%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=Incremental SET swXCopy=/s /d:%FileDate%) ECHO Simula sa pagkopya ng mga file. KUNG WALA "%dirTempBackup%" MKDIR "%dirTempBackup%" PARA SA /f "skip=1 tokens=*" %%A SA (%filBackupConfig%) GAWIN ( SET Current=%%~A IF NOT EXIST "!Kasalukuyan! " ( ECHO ERROR! Not found: !Current! ) ELSE ( ECHO Copying: !Current! SET Destination=%dirTempBackup%!Current:~0,1!%%~pnxA REM Tukuyin kung ang entry ay isang file o directory. KUNG "%%~xA"=="" ( REM Directory. XCOPY "!Kasalukuyan!" "!Destination!" /v /c /i /g /h /q /r /y %swXCopy% ) ELSE ( REM File. COPY /v /y "!Kasalukuyan!" "!Patutunguhan!" ) ) ) ECHO Tapos na ang pagkopya ng mga file. ECHO. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Kung umiiral ang backup file, alisin ito pabor sa bagong file. KUNG MAY "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Pag-compress ng mga naka-back up na file. (Bagong window) REM Compress file gamit ang 7-Zip sa isang mas mababang priyoridad na proseso. SIMULAN ang "Pag-compress ng Backup. HUWAG ISASARA" /belownormal /wait "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Tapos na ang pag-compress ng mga naka-back up na file. ECHO. ECHO Paglilinis. KUNG MAY "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. :End ECHO Tapos na. ECHO. ENDLOCAL

Available ang plain text source dito:backup

Kung kailangan mo ng tulong sa pagsisimula sa pagpapatupad ng script na ito, narito ang ilang link upang matulungan ka:

  • Paano lumikha ng isang Batch file
  • Paano gumawa ng Windows Scheduled Task

Ito ang parehong script na ginagamit ko upang i-backup ang aking computer araw-araw (na may ilang mga pagbabago siyempre), kaya alam kong gumagana ito nang mahusay. Umaasa ako na mahanap mo itong kapaki-pakinabang.

Enjoy!