ПК и мобильный

Пакетный сценарий 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: Документы и настройки Джейсон Фолкнер Мои документы Важные файлы C: ScriptsBackupScript.bat

В приведенном выше примере будет создана резервная копия рабочего стола пользователя Windows Джейсона Фолкнера (и всех папок на рабочем столе), папки «Важные файлы» внутри «Мои документы» (и всех папок внутри «Важных файлов») и файла «BackupScript.bat» внутри каталог C: Scripts.

Типы резервных копий:

  • Полная резервная копия: полная копия всех файлов и папок (включая подпапки) включается в резервную копию.
  • Инкрементное резервное копирование: при наличии папки только файлы, созданные или измененные на текущая дата находятся

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

Пакетный сценарий Windows для резервного копирования данных

Я хочу подчеркнуть, что этот сценарий очень простой, поскольку все, что он делает, это создает резервные копии, используя простую копию файла. Вы можете установить несколько параметров конфигурации:

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

Если у вас есть какие-либо предложения или пожелания, пожалуйста, оставьте комментарий ниже. Мне бы очень хотелось сделать дополнительную статью к этому сообщению, в которой будет представлен обновленный сценарий, основанный на вводе читателей. Если вам нужны инструкции о том, как «использовать» этот сценарий или настроить запланированную задачу, взгляните на ссылки под источником сценария.

Без лишних слов, вот он:

Примечание: Поскольку кавычки ниже отображаются некорректно (и в результате может испортить сценарий), я включил текстовую ссылку под сценарием, которую вы можете использовать для получения точного источника для копирования.

@ECHO OFF REM BackupScript REM Версия 1.01, Обновлено: 21.05.2008 REM Автор Джейсон Фолкнер (статьи [-at-] 132solutions.com) REM Выполняет полное или инкрементное резервное копирование папок и файлов, настроенных пользователем. Использование REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Параметры конфигурации --- REM Расположение папки, в которой вы хотите сохранить полученный архив резервных копий. REM Эта папка должна существовать. Не ставьте "" в конце, это будет добавлено автоматически. REM Вы можете ввести локальный путь, букву внешнего диска (например, F :) или сетевое расположение (например, \ serverbackups). SET BackupStorage = C: Backup REM В какой день недели вы хотите выполнить полное резервное копирование? REM Введите одно из следующих значений: Sun, Mon, Tue, Wed, Thu, Fri, Sat, * REM. В любой день недели, кроме указанного ниже, будет выполняться инкрементное резервное копирование. REM Если вы введете "*", полное резервное копирование будет выполняться каждый раз. SET FullBackupDay = * REM Место, где на вашем компьютере установлен 7-Zip. REM По умолчанию находится в папке «7-Zip» в каталоге Program Files. УСТАНОВИТЬ InstallLocationOf7Zip =% ProgramFiles% 7-Zip REM + --------------------------------------- -------------------------------- + REM | Не меняйте ничего ниже, если вы не знаете, что делаете. | REM + ------------------------------------------------ ----------------------- + REM Использование переменных. SET exe7Zip =% InstallLocationOf7Zip% 7z.exe SET dirTempBackup =% TEMP% backup SET filBackupConfig = BackupConfig.txt REM Validation. ЕСЛИ НЕ СУЩЕСТВУЕТ% filBackupConfig% (ECHO Файл конфигурации не найден, отсутствует:% filBackupConfig% GOTO End) ЕСЛИ НЕ СУЩЕСТВУЕТ "% exe7Zip%" (ECHO 7-Zip не установлен в папку:% dir7Zip% ECHO Обновите каталог, в котором 7-Zip установлен. GOTO End) REM Резервные переменные. 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 = Full SET swXCopy = / e) ELSE (SET txtBackup = Incremental SET swXCopy = / s / d:% FileDate%) ECHO Начало копирования файлов. ЕСЛИ НЕ СУЩЕСТВУЕТ "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 tokens = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A IF NOT EXIST "! Current! "(ECHO ERROR! Not found:! Current!) ELSE (ECHO Copying:! Current! SET Destination =% dirTempBackup%! Current: ~ 0,1! %% ~ pnxA REM Определить, является ли запись файлом или каталогом. IF "%% ~ xA" == "" (REM Directory. XCOPY "! Current!" "! Destination!" / v / c / i / g / h / q / r / y% swXCopy%) ELSE (REM-файл. COPY / v / y "! Current!" "! Destination!"))) ECHO Сделано копирование файлов. ЭХО. SET BackupFileDestination =% BackupStorage% Backup_% FileDate% _% txtBackup% .zip REM Если файл резервной копии существует, удалите его в пользу нового файла. ЕСЛИ СУЩЕСТВУЕТ "% BackupFileDestination%" DEL / f / q "% BackupFileDestination%" ECHO Сжатие файлов резервных копий. (Новое окно) REM Сжимайте файлы с помощью 7-Zip в процессе с более низким приоритетом. ЗАПУСК «Сжатие резервной копии. НЕ ЗАКРЫВАЙТЕ» / undernormal / wait «% exe7Zip%» a -tzip -r -mx5 «% BackupFileDestination%» «% dirTempBackup%» ECHO Выполнено сжатие файлов резервных копий. ЭХО. ЭХО Очистка. ЕСЛИ СУЩЕСТВУЕТ "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : End ECHO Завершено. ЭХО. ENDLOCAL

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

Если вам нужна помощь в начале реализации этого скрипта, вот пара ссылок, которые помогут вам:

  • Как создать командный файл
  • Как создать запланированную задачу Windows

Это тот же самый сценарий, который я использую для ежедневного резервного копирования моего компьютера (конечно, с парой модификаций), поэтому я знаю, что он работает очень хорошо. Надеюсь, вы сочтете это полезным.

Наслаждаться!

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