:: Каталог с бэкапами и логами.
set
P=
"D:\Backups"
set
L=
"C:\Scripts\Logs"
:: Формирование времени (это надо на случай, если есть необходимость формировать имя выходного архива с указанием точного времени создания,
:: например, если бэкапы делаются несколько раз в день)
set
h=%TIME:~0,2%
set
s=%TIME:~6,2%
set
curtime=%h%-%m%-%s%
:: Удаление бэкапов старше 30 дней и запись отчета в лог, если подходящих по параметров файлов нет, то в лог пишется: (ERROR: No files found with the specified search criteria.).
forfiles.exe -p %P%\ -s -m *.* -d -30 -c
"cmd /c del /Q @FILE"
> %L%\clear_log_%
date
%.txt 2>&1
:: Список возможных параметров передаваемых скрипту.
if
"%1"
==
"manager"
GOTO manager
if
"%1"
==
"sklad"
GOTO sklad
if
"%1"
==
"all"
GOTO all
if
"%1"
==
"docs"
GOTO docs
:: Если скрипт был запущен без параметров, то производится очистка бэкапов старше 30 дней и выход.
echo
При запуске без параметров архивация не производится, производится только очистка старых бэкапов.
exit
:: Подобные этой (
echo
manager_%
date
%_%
time
% >> %L%\manager_log_%
date
%.txt) строчки в скриптах записывают время начала и окончания бэкапа секции.
:: Это дает возможность замерить время работы сеуции, и настроить задания в планировщике так, что бы они не пересекались.
:: Помимо времени в логи пишутся только ошибки.
:: Если передать скрипту параметр manager, то срабатывает данная секция.
:manager
echo
Время начала manager_%
date
%_%
time
% >> %L%\manager_log_%
date
%.txt
7z.exe a -t7z -m0=LZMA2:mt=2 -mx=4 %P%\manager\manager_%
date
%.7z -ssw C:\files\manager 2>> %L%\manager_log_%
date
%.txt
echo
Время окончания manager_%
date
%_%
time
% >> %L%\manager_log_%
date
%.txt
exit
:: Если передать скрипту параметр sklad, то срабатывает данная секция.
:sklad
echo
Время начала sklad_%
date
%_%
time
% >> %L%\sklad_log_%
date
%.txt
7z.exe a -t7z -m0=LZMA2:mt=2 -mx=4 %P%\sklad\sklad_%
date
%.7z -ssw C:\files\sklad 2>> %L%\sklad_log_%
date
%.txt
echo
Время окончания sklad_%
date
%_%
time
% >> %L%\sklad_log_%
date
%.txt
exit
:: Если передать скрипту параметр all, то срабатывает данная секция.
:all
echo
Время начала all_%
date
%_%
time
% >> %L%\all_log_%
date
%.txt
7z.exe a -t7z -m0=LZMA2:mt=2 -mx=4 %P%\all\all_%
date
%.7z -ssw C:\files\all 2>> %L%\all_log_%
date
%.txt
echo
Время окончания all_%
date
%_%
time
% >> %L%\all_log_%
date
%.txt
exit
:: Если передать скрипту параметр docs, то срабатывает данная секция.
:docs
echo
Время начала docs_%
date
%_%
time
% >> %L%\docs_log_%
date
%.txt
7z.exe a -t7z -m0=LZMA2:mt=2 -mx=4 %P%\docs\docs_%
date
%.7z -ssw C:\files\docs 2>> %L%\docs_log_%
date
%.txt
echo
Время окончания docs_%
date
%_%
time
% >> %L%\docs_log_%
date
%.txt
exit
Источник: http://www.itroad.ru/bekap-fajlov-i-papok-odnim-batnikom-s-pomoshhyu-7zip
Комментариев нет:
Отправить комментарий