Автоматическое создание резервных копий с помощью 7z

Прежде всего создаем в текстовом редакторе (в блокноте) два файла. Это можно проделать в любом текстовом редакторе, (обычно в Блокноте), но если вы используете в командах пути к файлам с русскими символами необходимо задействовать редакторы, которые поддерживают DOS-кодировку (редактор менеджера FAR). Один из них будет с расширением .bat или .cmd (основной с помощью которого будет производится архивация) и второй с расширением txt (в нем будут указаны пути к файлам из которых будет браться информация для архивации).

Рассмотрим  содержимое основного (можно просто скопировать этот кусок записи, сохранить с расширением txt, внести изменения под свою задачу и пересохранить  с расширением .bat или .cmd):

@echo off

set now=%TIME:~0,-3%

set now=%now::=.%

set now=%now: =0%

set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%

7z.exe a -tzip -ssw -mx7 -r0 -x!*.mdx  D:\REZERV-COPY\ARH-BD_%now%.zip @listfile.txt

Теперь давайте подробно разберем  что и для чего в этой записи, чтобы переделать данный файл под свои задачи.

Поподробней об использованных ключах архиватора (это очень хорошо расписано в мануале):

-tzip формат архива установлен в zip, без этого ключа по умолчанию формат 7z;

-ssw принудительная упаковка файлов, которые в данный момент открыты для записи (если кто то засиделся на работе и что-то там правит);

-mx7 высокая степень сжатия (7), можно поставить и 5 (нормальное сжатие), тогда процесс пойдет побыстрее;

-r0 (это ноль, а не буква О) исключения, которые будут прописаны дальше обрабатываются только в рабочем каталоге;

-x исключение которые не будем архивировать. Можно использовать маски типа *.cdx и т.п. следующий вид: -x!*.cdx; (то есть файлы с данными расширениями просто не будут паковаться в вашу резервную копию)

D:\REZERV-COPY\ARH-BD_%now%.zip — диск и путь куда будут складываться архивы (на диск D в каталог  REZERV-COPY, название архива ARH-BD_(дата и время создания))

@listfile.txt -название текстового файла в котом прописывается какие папки и файлы будут архивироваться

(например запись: C:\base_OK\base1 — будет архивироваться содержимое папкиbase1 из каталога base_OK)

Строки приведенные ниже добавляют к имени архива дату и время создания архива.

set now=%TIME:~0,-3%

set now=%now::=.%

set now=%now: =0%

set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%

Вот собственно и все, осталось только указать в диспетчере задач путь до созданного  файла с расширением .bat или .cmd и частоту его запуска. Думаю все, очень просто и не составляет не какого труда в реализации.

И одна тонкость. ВНИМАНИЕ!!!  запускной файл с расширением .bat или .cmd и файл  listfile.txt должны обязательно лежать в той же папке где находится архиватор!!! (В этом каталоге — C:\Program Files\7-Zip ).

Источник статьи http://info-ispdn.ru/publikzii/8—7z.html