Небольшой скрипт для резервного копирования каталогов в ОС Microsoft Windows. Данный скрипт был написан для задачи быстрого бэкапа каталога с часто изменяющейся информацией(примерно раз в 10-15 минут), основная задача иметь возможность откатиться на резервную копию документа в интервале от 30 минут до 30 дней назад.
Данный скрипт выполняет архивирование каталога и установку пароля на архив. Так же он умеет определять временной интервал в сутках когда необходимо делать резервные копии и количество дней хранения копий.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
@echo off set source="C:\Source" set destination="C:\Backup" set passwd="password_archive" set outdate="-30" set start_wd="8" set end_wd="18" set h=%TIME:~0,2% set m=%TIME:~3,2% set dd=%DATE:~0,2% set mm=%DATE:~3,2% set yyyy=%DATE:~6,4% set curdate=%yyyy%.%mm%.%dd%-%h%%m% IF %h% LSS %start_wd% (exit) else (if %h% GTR %end_wd% (exit) else goto backup) :backup "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx5 -p%passwd% -r0 %destination%\backup_%curdate%.zip %source% forfiles /p %destination%\ /m backup_*.zip /s /d %outdate% /c "cmd /c del @path /q" |
Разберем переменные данного скрипта, которые необходимо заполнять или отредактировать:
- source — указываем путь каталога который необходимо резервировать
- destination — указываем путь каталога в который будет резервироваться
- passwd — указываем пароль к архиву
- outdate — сколько дней хранить архивы
- start_wd — время начала рабочего дня
- end_wd — время окончания рабочего дня
После редактирования параметров скрипта, нам остается только создать задание для его выполнения в «Планировщик заданий» Windows. После создания задания, редактируем в его свойствах триггер следующим образом:
Так же есть возможность делать удаленные бэкапы например на Яндекс.Диск через web-dav.
Отличный скрипт. Большое спасибо!!!