Шаблон командной строки для сохранения БД в архивном файле (cmdarcadd)
Синтаксис
 
/cmdarcadd=< шаблон командной строки >
< шаблон командной строки >::=символьная строка.
Описание

Задает командную строку для добавления файла архивной БД в файл архива.

В командной строке можно использовать следующие предопределенные переменные:

  1. %FILE% – имя архивируемого файла без указания каталога;

  2. %ARCHIVE% – спецификация архивного файла;

  3. %LIST% – спецификация файла, содержащего список архивируемых файлов без указания каталога.

  4. %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%".