Виндовс пакетна скрипта за прављење резервних копија података

Корисници рачунара који су одрасли уз напредне Мац и Виндовс рачунаре можда нису тога свесни, али некада, давно, сви персонални рачунари су били контролисани помоћу интерфејса командне линије. Да, та незграпна командна кутија на вашој Виндовс машини је била буквално једини начин на који је већина људи икада комуницирала са рачунаром. Интерфејси командне линије су се у великој мери ослањали на мале програме зване „скрипте“, које су биле колекције команди оперативног система које се користе за обављање уобичајених задатака.

Иако су графички кориснички интерфејси данашњих рачунара светлосне године софистициранији и лакши за коришћење од старих командних линија, још увек постоје употребе за старији метод контроле вашег рачунара. Једна од најчешћих и најприкладнијих апликација за скрипту командне линије је резервна копија података. Скрипте командне линије се могу аутоматизовати да се покрећу у било ком тренутку без људске интеракције и имају неколико ограничења. Најбоље од свега – они су уграђени део оперативног система Виндовс.

Зашто скрипте командне линије?

Зашто користити скрипту командне линије када постоје и комерцијални и бесплатни програми за прављење резервних копија? Па, скрипте командне линије имају низ јединствених предности. Ево неколико њих:

  • Нативе Цоммандс : Има ли бољег начина за прављење резервних копија података него коришћењем функција које су доступне кроз програм који креира податке? Било да се ради о самом оперативном систему путем једноставне команде за копирање датотеке или команде базе података за производњу бинарне датотеке која се може вратити, изворни програм најбоље зна како да направи резервну копију.
  • Ултимате Цонтрол : Пошто скрипта командне линије прати једноставну процедуру корак по корак, ви тачно знате шта се дешава и можете лако да промените понашање.
  • Фаст : Пошто је све изворна команда, ништа не подлеже тумачењу. Опет, користите команде које обезбеђује сам програм, тако да су трошкови сведени на минимум.
  • Моћан : Још увек нисам видео задатак резервне копије који се не може извршити преко скрипте командне линије... и урадио сам неке функи ствари. Иако ћете можда морати да урадите нека истраживања и покушаје и грешке ако имате заиста јединствене потребе, обично су уграђене функције и карактеристике скриптног језика који користите више него довољне.
  • Бесплатно и флексибилно : Очигледно, скрипта командне линије не кошта ништа (изван времена за развој), тако да можете копирати своје скрипте на било који број машина и система са мало или нимало времена или трошкова. Упоредите ово са ценом куповине лиценци за софтвер за прављење резервних копија на неколико сервера и/или десктоп машина.

Кратак преглед пакетне скрипте за резервну копију

Већина људи никада није научила да користи скриптовање на командној линији, и то се сматра донекле „црном вештином“. Међутим, то је заправо прилично једноставна ствар за научити. Да бих демонстрирао снагу командне линије, пружам једноставну Виндовс скрипту коју можете користити за прављење резервних копија важних података. Ова конфигурабилна и прилагодљива скрипта не захтева никакво познавање (или спремност за учење) Виндовс језика за групно скриптовање, али ако одлучите да желите да сазнате више о Виндовс групном скриптовању, наћи ћете да је ова скрипта добро полазиште .

Шта ради резервна скрипта:

  1. Прави пуне или дневне инкременталне (погледајте доле за дефиницију) резервне копије датотека и фасцикли које наведете у засебној конфигурационој текстуалној датотеци (погледајте доле).
    • Када је фасцикла именована, прави се резервна копија тог фолдера и свих подфолдера.
    • Када је датотека именована, прави се резервна копија само те датотеке.
  2. Компримује (зипа) датотеке са резервном копијом. Након што се копирају све датотеке за прављење резервне копије, оне се компримују да би се уштедео простор. 7-Зип мора бити инсталиран на вашем систему да би ово функционисало.
  3. Датира компримовану датотеку и премешта је на локацију за складиштење. Након што се датотеке резервне копије компримују, резултујућој архиви се додељује назив датотеке према тренутном датуму, а затим се премешта на конфигурисану локацију за складиштење, као што је спољни диск или мрежна локација.
  4. Чисти за собом. Након што се сви задаци заврше, групна скрипта чисти све привремене датотеке које је креирала.

Захтеви:

Виндовс 2000/КСП/2003/Виста или новији

7-Зип (бесплатно је)

Конфигурациони фајл:

Конфигурациона датотека је једноставно текстуална датотека која садржи датотеке и фасцикле за прављење резервних копија, унета по једна резервна ставка по реду. Овај фајл мора бити назван „БацкупЦонфиг.ткт“ и налази се у истој фасцикли као и скрипта за прављење резервних копија. Ево примера датотеке БацкупЦонфиг.ткт (имајте на уму, знак „#“ у првом реду означава да је ред коментар; коментари се увек занемарују када се скрипта покрене):

# Унесите називе датотека и фасцикли, по једно у сваки ред.

Ц:Документи и подешавањаЈасон ФаулкнерДесктоп Ц:Документи и подешавањаЈасон ФаулкнерМоји документиВажне датотеке Ц:СцриптсБацкупСцрипт.бат

Горњи пример би направио резервну копију радне површине корисника Виндовс-а Џејсона Фокнера (и свих фасцикли на радној површини), фасцикле под називом „Важне датотеке“ унутар Мојих докумената (и свих фасцикли унутар „Важне датотеке“) и датотеке „БацкупСцрипт.бат“ унутра директоријум Ц:Сцриптс.

Врсте резервних копија:

  • Потпуна резервна копија: Комплетна копија свих датотека и фасцикли (укључујући поддиректоријуме) укључена је у резервну копију.
  • Инкрементална резервна копија: Када се обезбеди фасцикла, само датотеке креиране или измењене на Тренутни датум су

    подржано. Када се датотека обезбеди, увек се прави резервна копија, без обзира на то када је измењена.

Виндовс пакетна скрипта за резервну копију података

Желим да нагласим да је ова скрипта веома основна, јер све што ради је прављење резервних копија коришћењем једноставне копије датотеке. Постоје неке опције конфигурације које можете да подесите:

  • Место складиштења резервних копија где се чувају резултујуће компресоване датотеке резервних копија.
  • Дан у недељи када се покреће потпуна резервна копија (било који други дан би покренуо инкременталну резервну копију).
  • Локација где је 7-Зип инсталиран на вашем рачунару. Скрипта је аутоматски подешена да изгледа на подразумеваној локацији.

Ако имате било какве сугестије или захтеве за функције, коментаришите испод. Заиста бих волео да направим чланак који прати овај пост који садржи ажурирану скрипту засновану на уносу читаоца. Ако су вам потребна упутства о томе како да „користите“ ову скрипту или да подесите заказани задатак, погледајте везе испод извора скрипте.

Без даљег одлагања, ево га:

Белешка: Пошто се цитати не приказују исправно испод (и као резултат тога могу да покваре скрипту), укључио сам обичан текстуални линк испод скрипте који можете користити да бисте добили тачан извор за копирање.

@ЕЦХО ОФФ РЕМ БацкупСцрипт РЕМ верзија 1.01, ажурирано: 21.05.2008 РЕМ Аутор Џејсон Фокнер (артицлес[-ат-]132солутионс.цом) РЕМ Врши потпуне или инкременталне резервне копије фасцикли и датотека које је конфигурисао корисник. Употреба РЕМ-а--- РЕМ > БацкупСцрипт СЕТЛОЦАЛ ЕНАБЛЕЕКСТЕНСИОНС ЕНАБЛЕДЕЛАИЕДЕКСПАНСИОН РЕМ ---Опције конфигурације--- РЕМ Локација фасцикле у коју желите да ускладиштите резултујућу архиву резервних копија. РЕМ Ова фасцикла мора да постоји. Немојте стављати '' на крај, ово ће се аутоматски додати. РЕМ Можете да унесете локалну путању, слово екстерне диск јединице (нпр. Ф:) или мрежну локацију (нпр. \сервербацкупс) СЕТ БацкупСтораге=Ц:Бацкуп РЕМ Ког дана у недељи желите да направите потпуну резервну копију? РЕМ Унесите једно од следећег: нед, пон, уто, сре, чет, пет, суб, * РЕМ Сваки дан у недељи осим доле наведеног ће покренути инкременталну резервну копију. РЕМ Ако унесете '*', сваки пут ће се покренути потпуна резервна копија. СЕТ ФуллБацкупДаи=* РЕМ Локација на којој је 7-Зип инсталиран на вашем рачунару. РЕМ Подразумевано је у фасцикли, '7-Зип' у вашем директоријуму Програм Филес. СЕТ ИнсталлЛоцатионОф7Зип=%ПрограмФилес%7-Зип РЕМ +--------------------------------------- ---------------------------------+ РЕМ | Не мењајте ништа испод ако не знате шта радите. | РЕМ +------------------------------------------------ -----------------------+ РЕМ Променљиве употребе. СЕТ еке7Зип=%ИнсталлЛоцатионОф7Зип%7з.еке СЕТ дирТемпБацкуп=%ТЕМП%бацкуп СЕТ филБацкупЦонфиг=БацкупЦонфиг.ткт РЕМ валидација. АКО НЕ ПОСТОЈИ %филБацкупЦонфиг% ( ЕЦХО Конфигурациона датотека није пронађена, недостаје: %филБацкупЦонфиг% ГОТО Енд ) АКО НЕ ПОСТОЈИ "%еке7Зип%" ( ЕЦХО 7-Зип није инсталиран на локацији: %дир7Зип% ЕЦХО Ажурирајте директоријум где 7-Зип је инсталиран. ГОТО Енд ) РЕМ Бацкуп променљиве. ФОР /ф "токенс=1,2,3,4 делимс=/ " %%а ИН ('датум /т') ДО ( СЕТ ДаиОфВеек=%%а СЕТ НовДате=%%д-%%б-%%ц СЕТ ФилеДате=%%б-%%ц-%%д ) ИФ {%ФуллБацкупДаи%}=={*} СЕТ ФуллБацкупДаи=%ДаиОфВеек% ИФ /и {%ФуллБацкупДаи%}=={%ДаиОфВеек%} ( СЕТ тктБацкуп =Потпуни СЕТ свКСЦопи=/е ) ЕЛСЕ ( СЕТ тктБацкуп=Инкрементални СЕТ свКСЦопи=/с /д:%ФилеДате% ) ЕЦХО Почиње копирање датотека. ИФ НОТ ЕКСИСТ "%дирТемпБацкуп%" МКДИР "%дирТемпБацкуп%" ЗА /ф "скип=1 токенс=*" %%А ИН (%филБацкупЦонфиг%) ДО ( СЕТ Цуррент=%%~А ИФ НОТ ЕКСИСТ "!Тренутно! " ( ЕЦХО ЕРРОР! Није пронађено: !Цуррент! ) ЕЛСЕ ( ЕЦХО Цопиинг: !Цуррент! СЕТ Дестинатион=%дирТемпБацкуп%!Цуррент:~0,1!%%~пнкА РЕМ Одредите да ли је унос датотека или директоријум. АКО "%%~кА"=="" ( РЕМ директоријум. КСЦОПИ "!Тренутно!" "!Одредиште!" /в /ц /и /г /х /к /р /и %свКСЦопи% ) ЕЛСЕ ( РЕМ датотека. ЦОПИ /в /и "!Тренутно!" "!Одредиште!" ) ) ) ЕЦХО Копирање датотека је завршено. ОДЈЕК. СЕТ БацкупФилеДестинатион=%БацкупСтораге%Бацкуп_%ФилеДате%_%тктБацкуп%.зип РЕМ Ако резервна датотека постоји, уклоните је у корист нове датотеке. ИФ ЕКСИСТ "%БацкупФилеДестинатион%" ДЕЛ /ф /к "%БацкупФилеДестинатион%" ЕЦХО Компресија резервних копија датотека. (Нови прозор) РЕМ Компресујте датотеке користећи 7-Зип у процесу нижег приоритета. СТАРТ „Компресовање резервне копије. НЕМОЈТЕ ЗАТВОРИТИ“ /испод нормалног /ваит „%еке7Зип%“ а -тзип -р -мк5 „%БацкупФилеДестинатион%“ „%дирТемпБацкуп%“ ЕЦХО Компресовање резервних копија датотека завршено. ОДЈЕК. ЕЦХО Чишћење. ИФ ЕКСИСТ "%дирТемпБацкуп%" РМДИР /с /к "%дирТемпБацкуп%" ЕЦХО. :Енд ЕЦХО Завршено. ОДЈЕК. ЕНДЛОЦАЛ

Извор обичног текста је доступан овде: резервна копија

Ако вам је потребна помоћ за почетак имплементације ове скрипте, ево неколико веза које ће вам помоћи:

  • Како направити батцх датотеку
  • Како да креирате Виндовс заказани задатак

Ово је иста скрипта коју свакодневно користим за прављење резервних копија свог рачунара (са неколико модификација, наравно), тако да знам да ради веома добро. Надам се да ће вам бити од користи.

Уживати!