Создание резервной копии директорий (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 для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.