Пакетный сценарий Windows для резервного копирования данных
Пользователи компьютеров, выросшие на продвинутых компьютерах Mac и Windows, возможно, не знают об этом, но когда-то, давным-давно, все персональные компьютеры управлялись с помощью интерфейса командной строки. Да, это неуклюжее командное окно на вашем компьютере с Windows раньше было буквально единственным способом взаимодействия большинства людей с компьютером. Интерфейсы командной строки в значительной степени опирались на небольшие программы, называемые «скриптами», которые представляли собой наборы команд операционной системы, используемые для выполнения общих задач.
Хотя графические пользовательские интерфейсы современных ПК на несколько световых лет более сложны и просты в использовании, чем старые командные строки, старый метод управления компьютером все еще находит применение. Одним из наиболее распространенных и хорошо подходящих приложений для сценариев командной строки является резервное копирование данных. Сценарии командной строки могут быть автоматизированы для запуска в любое время без участия человека и имеют мало ограничений. Самое приятное — они являются встроенной частью операционной системы Windows.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Почему сценарии командной строки?
Зачем использовать сценарий командной строки, если существуют как коммерческие, так и бесплатные программы резервного копирования? Что ж, сценарии командной строки имеют ряд уникальных преимуществ. Вот некоторые из них:
- Собственные команды: Что может быть лучше для резервного копирования данных, чем использование функций, доступных в программе, создающей данные? Будь то сама операционная система с помощью простой команды копирования файла или команда базы данных для создания восстанавливаемого двоичного файла, исходная программа лучше знает, как выполнить резервное копирование.
- Абсолютный контроль: поскольку сценарий командной строки следует простой пошаговой процедуре, вы точно знаете, что происходит, и можете легко изменить поведение.
- Быстрый: Поскольку все является родной командой, ничто не подлежит интерпретации. Опять же, вы используете команды, предоставляемые самой программой, поэтому накладные расходы сводятся к минимуму.
- Мощный: Я еще не видел задачи резервного копирования, которую нельзя было бы выполнить с помощью сценария командной строки… и я сделал несколько прикольных вещей. Хотя вам, возможно, придется провести некоторое исследование и метод проб и ошибок, если у вас действительно уникальные потребности, обычно встроенных функций и возможностей используемого вами языка сценариев более чем достаточно.
- Бесплатный и гибкий: Очевидно, что сценарий командной строки ничего не стоит (кроме времени на его разработку), поэтому вы можете копировать свои сценарии на любое количество компьютеров и систем практически без затрат времени и средств. Сравните это со стоимостью приобретения лицензий на программное обеспечение для резервного копирования на нескольких серверах и/или настольных компьютерах.
Краткий обзор сценария пакетного резервного копирования
Большинство людей никогда не учились использовать сценарии командной строки, и это считается своего рода «черным искусством». Однако на самом деле научиться этому довольно просто. Чтобы продемонстрировать возможности командной строки, я предлагаю простой пакетный сценарий Windows, который вы можете использовать для резервного копирования важных данных. Этот настраиваемый и настраиваемый сценарий не требует каких-либо знаний (или желания изучать) языка пакетных сценариев Windows, но если вы решите, что хотите узнать больше о пакетном сценарии Windows, вы найдете этот сценарий хорошей отправной точкой. .
Что делает сценарий резервного копирования:
- Создает полные или ежедневные инкрементальные (определение см. ниже) резервные копии файлов и папок, которые вы указываете в отдельном текстовом файле конфигурации (см. ниже).
- При присвоении имени папке создается резервная копия этой папки и всех подпапок.
- Когда файлу присвоено имя, копируется только этот файл.
- Сжимает (архивирует) резервные копии файлов. После копирования всех файлов, подлежащих резервному копированию, они сжимаются для экономии места. Для этого в вашей системе должен быть установлен 7-Zip.
- Датирует сжатый файл и перемещает его в место хранения. После сжатия файлов резервных копий полученному архиву присваивается имя файла в соответствии с текущей датой, а затем он перемещается в настроенное место хранения, например внешний диск или сетевое расположение.
- Убирает за собой. После выполнения всех задач пакетный сценарий очищает все созданные им временные файлы.
Требования:
Windows 2000/XP/2003/Vista или новее
7-Zip (это бесплатно)
Конфигурационный файл:
Файл конфигурации представляет собой простой текстовый файл, содержащий файлы и папки для резервного копирования, в каждой строке указывается один элемент резервного копирования. Этот файл должен иметь имя «BackupConfig.txt» и располагаться в той же папке, что и сценарий резервного копирования. Вот пример файла BackupConfig.txt (обратите внимание, символ «#» в первой строке указывает на то, что строка является комментарием; при запуске скрипта комментарии всегда игнорируются):
# Введите имена файлов и папок, по одному в строке.
C:Документы и настройкиДжейсон ФолкнерРабочий стол C:Документы и настройкиДжейсон ФолкнерМои документыВажные файлы C:ScriptsBackupScript.bat
В приведенном выше примере создается резервная копия рабочего стола пользователя Windows Джейсона Фолкнера (и всех папок на рабочем столе), папки «Важные файлы» внутри «Моих документов» (и всех папок внутри «Важных файлов») и файла «BackupScript.bat» внутри. каталог C:Scripts.
Типы резервных копий:
- Полная резервная копия: в резервную копию включаются полные копии всех файлов и папок (включая подпапки).
- Инкрементное резервное копирование: если указана папка, в ней сохраняются только файлы, созданные или измененные в ней. текущая дата являются
резервное копирование. При предоставлении файла всегда создается его резервная копия, независимо от того, когда он был изменен.
Пакетный сценарий резервного копирования данных Windows
Я хочу подчеркнуть, что этот сценарий очень прост, поскольку все, что он делает, — это создает резервные копии, используя простую копию файла. Вы можете установить некоторые параметры конфигурации:
- Место хранения резервных копий, в котором хранятся полученные сжатые файлы резервных копий.
- День недели, в который выполняется полное резервное копирование (в любой другой день будет выполняться инкрементное резервное копирование).
- Местоположение установки 7-Zip на вашем компьютере. Сценарий автоматически настроен на поиск в расположении по умолчанию.
Если у вас есть какие-либо предложения или пожелания, оставьте комментарий ниже. Мне бы очень хотелось написать статью, дополняющую этот пост, в которой будет представлен обновленный сценарий, основанный на отзывах читателей. Если вам нужны инструкции о том, как «использовать» этот скрипт или настроить запланированное задание, просмотрите ссылки под исходным кодом скрипта.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Без лишних слов, вот оно:
Примечание: Поскольку кавычки ниже отображаются неправильно (и в результате могут испортить сценарий), я включил под сценарием текстовую ссылку, которую вы можете использовать, чтобы получить точный источник для копирования.
@ECHO OFF REM BackupScript REM Версия 1.01, обновление: 21 мая 2008 г. REM Автор: Джейсон Фолкнер (статьи(-at-)132solutions.com) REM Выполняет полное или инкрементальное резервное копирование папок и файлов, настроенных пользователем. Использование REM — REM > BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM — Параметры конфигурации — REM Расположение папки, в которой вы хотите сохранить результирующий архив резервной копии. REM Эта папка должна существовать. Не ставьте '' в конце, он будет добавлен автоматически. REM Вы можете ввести локальный путь, букву внешнего диска (например, F:) или сетевое расположение (например, \serverbackups). SET BackupStorage=C:Backup REM В какой день недели вы хотите выполнить полное резервное копирование? REM Введите одно из следующих значений: Вс, Пн, Вт, Ср, Чт, Пт, Сб, * REM В любой день недели, кроме указанного ниже, будет выполняться инкрементное резервное копирование. REM Если вы введете «*», каждый раз будет выполняться полное резервное копирование. SET FullBackupDay=* REM Место установки 7-Zip на вашем компьютере. REM По умолчанию находится в папке «7-Zip» в каталоге Program Files. SET InstallLocationOf7Zip=%ProgramFiles%7-Zip REM +————————————— ——————————–+ РЕМ | Не меняйте здесь ничего, если не знаете, что делаете. | РЕМ +———————————————— ———————–+ Переменные использования REM. SET exe7Zip=%InstallLocationOf7Zip%7z.exe SET dirTempBackup=%TEMP%backup SET filBackupConfig=BackupConfig.txt REM Проверка. ЕСЛИ НЕ СУЩЕСТВУЕТ %filBackupConfig% ( ECHO Файл конфигурации не найден, отсутствует: %filBackupConfig% GOTO End ) ЕСЛИ НЕ СУЩЕСТВУЕТ “%exe7Zip%” ( ECHO 7-Zip не установлен в папке: %dir7Zip% ECHO Обновите каталог, в котором находится 7-Zip установлен. GOTO End) REM Резервное копирование переменных. FOR /f “tokens=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 ЕСЛИ НЕ СУЩЕСТВУЕТ “!Current! ” ( ECHO ERROR! Не найдено: !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 File. COPY /v /y “!Current!” “!Destination!” ) ) ) ECHO Копирование файлов завершено. ЭХО. SET BackupFileDestination=%BackupStorage%Backup_%FileDate%_%txtBackup%.zip REM Если файл резервной копии существует, удалите его в пользу нового файла. ЕСЛИ СУЩЕСТВУЕТ “%BackupFileDestination%” DEL /f /q “%BackupFileDestination%” ECHO Сжатие резервных копий файлов. (Новое окно) REM Сжимайте файлы с помощью 7-Zip в процессе с более низким приоритетом. НАЧАТЬ «Сжатие резервной копии. НЕ ЗАКРЫВАТЬ» /belownormal /wait «%exe7Zip%» a -tzip -r -mx5 «%BackupFileDestination%» «%dirTempBackup%» ECHO Сжатие резервных копий файлов завершено. ЭХО. ЭХО Уборка. ЕСЛИ СУЩЕСТВУЕТ “%dirTempBackup%” RMDIR /s /q “%dirTempBackup%” ECHO. :Конец ЭХО завершено. ЭХО. ЭНДЛОКАЛЬНЫЙ
Исходный текст доступен здесь:резервное копирование
Если вам нужна помощь в начале реализации этого сценария, вот несколько ссылок, которые помогут вам:
Это тот же сценарий, который я использую для ежедневного резервного копирования своего компьютера (разумеется, с парой модификаций), поэтому я знаю, что он работает очень хорошо. Надеюсь, вы найдете это полезным.
Наслаждаться!