Пакетният скрипт на Windows за архивиране на данни

Потребителите на компютри, които са израснали с усъвършенствани компютри Mac и Windows, може да не са наясно с това, но някога, много отдавна, всички персонални компютри бяха контролирани с помощта на интерфейс на командния ред. Да, това тромаво командно поле на вашата машина с Windows беше буквално единственият начин, по който повечето хора взаимодействаха с компютър. Интерфейсите на командния ред разчитат до голяма степен на малки програми, наречени „скриптове“, които бяха колекции от команди на операционната система, използвани за изпълнение на общи задачи.

Въпреки че графичните потребителски интерфейси на днешните компютри са светлинни години по-сложни и лесни за използване от старите командни редове, все още има приложения за по-стария метод за управление на вашия компютър. Едно от най -често срещаните и подходящи приложения за скрипт на командния ред е архивирането на данни. Скриптите на командния ред могат да бъдат автоматизирани да се изпълняват по всяко време без човешко взаимодействие и имат малко ограничения. Най-доброто от всичко-те са вградена част от операционната система Windows.

Защо скриптове на командния ред?

Защо да използвате скрипт от командния ред, когато има както търговски, така и безплатни програми за архивиране? Е, скриптовете от командния ред имат редица уникални предимства. Ето някои от тях:

  • Родни команди : Какъв по -добър начин за архивиране на данни от използването на функциите, предоставени чрез програмата, която създава данните? Независимо дали това е самата операционна система чрез проста команда за копиране на файл или команда за база данни за създаване на възстановяем двоичен файл, програмата източник знае най -добре как да се архивира.
  • Максимален контрол : Тъй като скриптът на командния ред следва проста процедура стъпка по стъпка, вие знаете точно какво се случва и лесно можете да промените поведението.
  • Бърз : Тъй като всичко е родна команда, нищо не подлежи на тълкуване. Отново използвате команди, предоставени от самата програма, така че режийните разходи са сведени до минимум.
  • Мощен : Все още не съм видял задача за архивиране, която не може да бъде изпълнена чрез скрипт на командния ред ... и направих някои фънки неща. Въпреки че може да се наложи да направите някои изследвания и опити и грешки, ако имате наистина уникални нужди, обикновено вградените функции и функции на скриптовия език, който използвате, са повече от достатъчни.
  • Безплатно и гъвкаво : Очевидно скриптът на командния ред не струва нищо (извън времето за разработването му), така че можете да копирате скриптовете си на произволен брой машини и системи с малко или никакво време или разходи. Сравнете това с цената на закупуване на лицензи за софтуер за архивиране на няколко сървъра и/или настолни машини.

Бърз преглед на резервния партиден скрипт

Повечето хора никога не са се научили да използват скриптове от командния ред и това се счита донякъде за „черно изкуство“. Всъщност обаче е доста лесно да се научи. За да демонстрирам силата на командния ред, предлагам прост пакетен скрипт за Windows, който можете да използвате, за да архивирате важните си данни. Този конфигурируем и персонализируем скрипт не изисква никакви познания (или желание за изучаване) на пакетния скриптов език на Windows, но ако решите, че искате да научите повече за пакетното писане на Windows, ще откриете, че този скрипт е добро начало .

Какво прави скриптът за архивиране:

  1. Създава пълни или ежедневни постепенни (вижте по -долу за дефиниция) архивиране на файлове и папки, които посочвате в отделен текстов файл за конфигурация (вижте по -долу).
    • Когато папка е именувана, тази папка и всички подпапки се архивират.
    • Когато файлът е именуван, се архивира само този файл.
  2. Компресира (ципира) архивираните файлове. След като всички файлове за архивиране бъдат копирани, те се компресират, за да се спести място. За да работи това, е необходимо да инсталирате 7-Zip на вашата система.
  3. Датира компресирания файл и го премества на място за съхранение. След като файловете за архивиране са компресирани, на получения архив се дава име на файл според текущата дата и след това се премества на конфигурирано място за съхранение, като например външно устройство или мрежово местоположение.
  4. Почиства след себе си. След като всички задачи са изпълнени, пакетният скрипт изчиства всички създадени от него временни файлове.

Изисквания:

Windows 2000/XP/2003/Vista или по -нова

7-Zip (безплатно)

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

Конфигурационният файл е просто текстов файл, който съдържа файлове и папки за архивиране, въведени по един резервен елемент на ред. Този файл трябва да да се нарича „BackupConfig.txt“ и да се намира в същата папка като скрипта за архивиране. Ето пример за файл BackupConfig.txt (имайте предвид, че знакът "#" на първия ред показва, че редът е коментар; коментарите винаги се игнорират, когато скриптът работи):

# Въведете имена на файлове и папки, по едно на ред.

C: Документи и настройки Джейсън Фолкнер Работен плот C: Документи и настройки Джейсън Фолкнер Моите документи Важни файлове В: ScriptsBackupScript.bat

Горният пример би архивирал работния плот на потребителя на Windows Джейсън Фолкнер (и всички папки на работния плот), папката, наречена „Важни файлове“ вътре в Моите документи (и всички папки вътре „Важни файлове“) и файла „BackupScript.bat“ вътре директорията C: Scripts.

Видове архивиране:

  • Пълно архивиране: Пълно копие на всички файлове и папки (включително подпапки) са включени в архива.
  • Допълнително архивиране: Когато е предоставена папка, само файлове, създадени или модифицирани на текуща дата са

    подкрепена. Когато е предоставен файл, той винаги се архивира, независимо от това кога е бил променен.

Пакетният скрипт на Windows за архивиране на данни

Искам да подчертая, че този скрипт е много основен, тъй като всичко, което прави, е да създава резервни копия, като използва просто копие на файл. Има някои опции за конфигуриране, които можете да зададете:

  • Мястото за съхранение на резервно копие, където се съхраняват получените компресирани архивни файлове.
  • Денят от седмицата се изпълнява пълното архивиране (всеки друг ден ще изпълнява допълнително архивиране).
  • Местоположение, където 7-Zip е инсталиран на вашия компютър. Скриптът е автоматично настроен да търси в местоположението по подразбиране.

Ако имате предложения или заявки за функции, моля, коментирайте по -долу. Наистина бих искал да направя последваща статия към тази публикация, която включва актуализиран скрипт въз основа на въведените от читателя. Ако имате нужда от инструкции как да „използвате“ този скрипт или да настроите планирана задача, разгледайте връзките под източника на скрипта.

Без повече шум, ето го:

Забележка: Тъй като кавичките не се показват правилно по -долу (и в резултат на това може да обърка скрипта), включих обикновена текстова връзка под скрипта, която можете да използвате, за да получите точен източник, от който да копирате.

@ECHO OFF REM BackupScript REM Версия 1.01, Актуализирано: 2008-05-21 REM От Джейсън Фолкнер (статии [-at-] 132solutions.com) REM Изпълнява пълни или постепенно архивиране на папки и файлове, конфигурирани от потребителя. REM Използване --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Опции за конфигуриране --- REM Местоположение на папката, където искате да съхранявате получения архив на архива. REM Тази папка трябва да съществува. Не поставяйте „“ в края, това ще бъде добавено автоматично. REM Можете да въведете локален път, буква на външно устройство (напр. F :) или мрежово местоположение (напр. \ Serverbackups) SET BackupStorage = C: Архивиране на REM В кой ден от седмицата искате да извършите пълно архивиране? REM Въведете едно от следните: Неделя, понеделник, вторник, сряда, четвъртък, петък, събота, * REM Всеки ден от седмицата, различен от посочения по -долу, ще изпълнява постепенно архивиране. REM Ако въведете '*', всеки път ще се изпълнява пълно резервно копие. SET FullBackupDay =* REM местоположение, където 7-Zip е инсталиран на вашия компютър. REM По подразбиране е в папка „7-Zip“ в директорията ви с програмни файлове. SET InstallLocationOf7Zip =%ProgramFiles%7-Zip REM +--------------------------------------- --------------------------------+ REM | Не променяйте нищо по -долу, освен ако не знаете какво правите. | REM +------------------------------------------------ -----------------------+ REM Променливи за използване. SET exe7Zip =%InstallLocationOf7Zip%7z.exe SET dirTempBackup =%TEMP%резервно копие SET filBackupConfig = BackupConfig.txt REM валидиране. АКО НЕ СЪЩЕСТВА%filBackupConfig%(ECHO Не е намерен конфигурационен файл, липсва:%filBackupConfig%GOTO End) IF NOT EXIST "%exe7Zip%" (ECHO 7-Zip не е инсталиран на мястото:%dir7Zip%ECHO Моля, актуализирайте директорията, където Инсталиран е 7-Zip GOTO End) REM Backup променливи. FOR /f "жетони = 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 = Пълен SET swXCopy =/д) ОЩЕ (SET txtBackup = Нарастващ SET swXCopy =/s/d:% FileDate%) ECHO Започва да копира файлове. АКО НЯМА "%dirTempBackup%" MKDIR "%dirTempBackup%" FOR /f "skip = 1 жетони =*" %% A IN (%filBackupConfig%) НАПРАВЕТЕ (SET Current = %% ~ A IF NOT EXIST "! Current! "(ECHO ERROR! Не е намерено:! Current!) ELSE (ECHO Copying:! Current! SET Destination =%dirTempBackup%! Current: ~ 0,1! %% ~ pnxA REM Определете дали записът е файл или директория. IF "%% ~ xA" == "" (REM директория. XCOPY "! Текуща!" "! Дестинация!" /v /c /i /g /h /q /r /y%swXCopy%) ELSE (REM файл. COPY /v /y "! Текущо!" "! Дестинация!"))) ECHO Готово копиране на файлове. ECHO. SET BackupFileDestination =%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Ако архивният файл съществува, премахнете го в полза на новия файл. Ако съществува "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%" ECHO Компресиране на архивирани файлове. (Нов прозорец) REM Компресиране на файлове с помощта на 7-Zip в процес с по-нисък приоритет. СТАРТ "Компресиране на резервно копие. НЕ ЗАТВАРЯЙТЕ" /belownormal /изчакайте "%exe7Zip%" a -tzip -r -mx5 "%BackupFileDestination%" "%dirTempBackup%" ECHO Готово компресиране на архивирани файлове. ECHO. ECHO Почистване. АКО ИМА "%dirTempBackup%" RMDIR /s /q "%dirTempBackup%" ECHO. : Край ECHO Завършен. ECHO. ENDLOCAL

Обикновен текстов източник е достъпен тук: архивиране

Ако имате нужда от помощ, за да започнете с прилагането на този скрипт, ето няколко връзки, които да ви помогнат:

  • Как да създадете партиден файл
  • Как да създадете планирана задача на Windows

Това е същият скрипт, който използвам за архивиране на компютъра си ежедневно (с няколко модификации, разбира се), така че знам, че работи много добре. Надявам се да ви е полезно.

Наслади се!

скорошни публикации

$config[zx-auto] not found$config[zx-overlay] not found