
09.11.2018, 14:18
|
|
Новичок
Регистрация: 05.11.2018
Сообщений: 13
С нами:
3959151
Репутация:
0
|
|
1. Скрипт на BAT инкрементного копирования файлов.
В системе требуется установленный 7zip
В планировщике ставим ежедневный запуск full.bat
Если полный архив отсутсвует - скрипт создаст полный бэкап
Если уже есть полный архив - будет создан инкремент с отбором по атрибуту "архивный". Если сегодняшний инкремент уже есть (например ПК днем перезагрузили), то скрипт ничего не делает.
В планировщике ставим запуск dellfull.bat например раз в месяц. Этот скрипт сотрет прежний полный бэкап, что послужит сигналом к полному очищению папки хранения бэкапов и запуску создания свежего полного архива
full.bat
Код:
Код:
rem ************ блок настроек скрипта************
rem установка параметров
rem что копируем
set source=D:\Documents
rem временная папка, используется для создания инкрементов, сама очищается
set zipertmp=E:\zipertmp
rem куда копируем
set destination=E:\docs_backup
rem указываем путь до архиватора 7-zip
set ziper="C:\Program Files\7-Zip\7z.exe"
rem ***********************************************
rem определяем дату и записываем в переменную
for /F "tokens=1-3 usebackq delims=. " %%1 in (`date /t`) do set mydate=%%1.%%2.%%3
rem ***********************************************
rem **********блок создания инкрементов ***********
rem если есть полный архив, то делаем инкремент и выходим. Если полный архив отсутствует - переходим в раздел создания полного архива
if not exist %destination%\full_**********.zip goto createfull
rem Если уже есть сегодняшний инкремент, то ничего делать не надо
if exist %destination%\incr_%mydate%.zip goto gdby
rem делаем инкремент
rd %zipertmp% /S /Q
mkdir %zipertmp%
robocopy %source% %zipertmp% /S /Z /M
%ziper% a %destination%\incr_%mydate%.zip %zipertmp%\* -mx5
rd %zipertmp% /S /Q
:gdby
exit
rem *************************************************
rem ************ блок создания полного архива ************
:createfull
rem очищаяем папку назначения
rd %destination% /S /Q
mkdir %destination%
rem Делаем полный архив 7зипом
%ziper% a %destination%\full_%mydate%.zip %source%\* -mx5
rem Снимаем атрибут "архивный" со всех файлов в целевом каталоге
cd /d %source%
attrib -A *.* /S /D
exit
rem ******************************************************
dellfull.bat
Код:
Код:
set destination=E:\docs_backup
del %destination%\full_**********.zip /q /a
|
|
|