Создание резервной копии директорий (WinRAR)

Иногда возникает необходимость в создании полной резервной копии какой-нибудь директории. Можно, конечно, каждый раз вручную архивировать папку, присваивая название архиву и проставляя номер или дату резервной копии. Но это быстро надоедает. Предлагаю написать скрипт(bat), который будет автоматизировать эту работу. Допустим, есть директория D:\Projects\ProjectX, для которой нужно сделать резервную копию, заархивировав WinRAR'ом. Название архива будет содержать, кроме названия, еще и дату создания. Для этого нужно выполнить следующие шаги:
  1. Создадим любым текстовым редактором файл с названием projectx.bat. Желательно создать специальную директорию для хранения подобных скриптов (Например, D:\Scripts\backups)
  2. Вставьте следующий код в файл
    cls
    set rar="C:\Program Files\WinRAR\Rar.exe"
    set source_dir="D:\Projects\ProjectX"
    set backup_dir="D:\Backup\ProjectX\projectx_"
    %rar% a -r -ep1 -agYYYY-MM-DD[HHMM] %backup_dir% %source_dir%
    cls - необязательная команда, которая очищает консоль
  3. Переменная rar хранит полный путь к утилите rar.exe Переменная source_dir хранит полный путь к директории, для которой создается резервная копия Переменная backup_dir содержит путь до директории, где хранятся резерный копии(D:\Backup\), поддиректории (ProjectX) и префикса названия файла архива (projectx_) Теперь рассмотрим параметры архивирования, которые мы передаем утилите rar.exe: a - команда, указывающая на добавление файлов в архив -ep1 - опция, которая позволяет исключить базовый путь из имен файлов, но сохраняет внутреннюю иерархию директории -agYYYY-MM-DD[HHMM] - генерирует название файла на основе текущей даты и времени Последние два параметра передаваемые утилите - это путь до архива (backup_dir) и архивируемая директория (source_dir).
Теперь рассмотрим все в картинках: Директория для архивирования: pic1 Запускаемый скрипт: pic2 Директория с резервными копиями: pic3 Содержимое архива: pic4 Содержимое директории: pic5 Почему лучше использовать абсолютные пути в скрипте? Во-первых, это позволит хранить скрипты в одном месте, а резервные копии в другом. Во-вторых, можно запускать скрипты из любого места, не заботясь о текущей директории. Созданный нами скрипт можно запускать по мере необходимости или запускать планировщиком по расписанию. Если всё же решили использовать в скрипте относительные пути, то при создании задания в планировщике не забудьте указать рабочую директорию скрипта.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.