Шаблон командной строки для сохранения БД в архивном файле (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%".