Шаблон командной строки для сохранения БД в архивном файле (cmdarcadd)
Синтаксис
/cmdarcadd=< шаблон командной строки > < шаблон командной строки >::=символьная строка.
Описание
Задает командную строку для добавления файла архивной БД в файл архива.
В командной строке можно использовать следующие предопределенные переменные:
-
%FILE%
– имя архивируемого файла без указания каталога; -
%ARCHIVE%
– спецификация архивного файла; -
%LIST%
– спецификация файла, содержащего список архивируемых файлов без указания каталога. -
%FULLIST%
– спецификация файла, содержащего список архивируемых файлов с полным путем к каждому из файлов.
По ключу /archivate
при окончании копирования БД происходит запуск заданной командной строки из каталога архивируемой БД с подстановкой значений вместо шаблонов. Замену шаблонов реальными значениями выполняет сервер резервирования.
На место шаблона %ARCHIVE%
подставляется спецификация архивного файла (полный путь и собственно имя файла). Имя файла извлекается из ключа /barc
(если он задан) или используется по умолчанию (DB.zip
).
На место шаблона %FILE%
последовательно подставляются имена всех файлов архивируемой БД без указания каталога БД, и каждый раз производится запуск архиватора. Так как текущий каталог является каталогом архивируемой БД, то эти имена можно использовать напрямую, без добавления пути к файлу. Команда архивирования с шаблоном %FILE%
будет запущена по одному разу для каждого архивируемого файла, т.е. всего столько раз, сколько файлов входит в состав БД.
На место шаблона %LIST%
подставляется спецификация сформированного сервером резервирования файла, в котором содержится список всех файлов архивируемой БД. Имена файлов перечислены по одному в каждой строке. Команда архивирования в случае указания шаблона %LIST%
будет выполнена только один раз. Файл списка размещается в каталоге, определяемой переменной окружения SERVER_HOME
, или в рабочем каталоге и имеет имя dbarclist
.
Шаблон %FULLIST%
аналогичен шаблону %LIST%
за исключением того, что в файле сохраняются не список имен файлов, а список полных путей к файлам БД.
В шаблоне возможно указание только %LIST%
, %FULLIST%
или %FILE%
. Одновременное использование хотя-бы двух из шаблонов недопустимо.
Данный ключ позволяет использовать любые архиваторы, отличные от архиватора по умолчанию zip.
Для архивирования БД с помощью архиватора tar
задать следующее значение ключа:
/cmdarcadd=’tar cfz %ARCHIVE% -T %LIST%’
В этом случае утилита tar за один вызов создаст архивный файл с именем, заданным в ключе /barc
(или DB.zip
по умолчанию).
Для архивирования БД с помощью архиватора 7z.exe
задать следующее значение ключа:
/cmdarcadd="7zG.exe a -tzip -ssw -mx1 -r0 %ARCHIVE% @%LIST%"
Если операционная система не поддерживают автоматический запуск команды сжатия данных утилитой tar, необходимо написать небольшой shell-скрипт для запуска архивирования, например:
#!/bin/sh tar cf - -T %1 | bzip2 > $2 exit $?
В этом случае командная строка запуска будет выглядеть так:
/cmdarcadd='/path/to/script.sh %LIST% %ARCHIVE%'
В приведенном скрипте не обязательно использовать шаблон для спецификации архивного файла – можно явно указать его другое местоположение. Дополнительно в скрипте можно прописать выполнение некоторых действий с архивным файлом, например:
-
следить за хранением 10 последних архивных файлов БД;
-
дублировать на компакт-диск;
-
передавать по сети на другой компьютер.
Скрипт открывает дополнительные возможности манипуляции с архивными файлами БД.
Можно также ускорить создание архивного файла архиватором zip, если архивировать не по одному файлу, а списком. Для этого можно использовать следующий скрипт:
#!/bin/sh cat $1 | zip $2.zip -@ exit $?
Если ключ не задан, по умолчанию используется значение
"zip -j %ARCHIVE% %FILE%".