З3.3. Команды для управления базой данных

Инициализация базы данных

При инициализации база данных должна отсутствовать или быть пуста.

drwcsd [<ключи>] initdb [<лицензионный_ключ>|- [<sql_скрипт>|- [<ini_файл>|- [<пароль> [<lua-скрипт>|-]]]]] — инициализация базы данных.

<лицензионный_ключ> — путь к лицензионному ключу Dr.Web agent.key. Если лицензионный ключ не указан, его нужно будет добавить позже из Центра управления, либо получить по межсерверной связи у соседнего Сервера.

<sql_скрипт> — путь к sql-скрипту для инициализации физической структуры БД.

<ini_файл> — предварительно сформированный файл в формате drweb32.ini, который будет задавать начальную конфигурацию компонентов ПО Dr.Web (для группы Everyone).

<пароль> — начальный пароль администратора Сервера (имя admin). По умолчанию root.

<lua-скрипт> — путь к Lua-скрипту для инициализации БД (наполнение базы значениями по умолчанию).

Специальное значение "-" (минус) означает не использовать этот параметр.

Знак минус может опускаться, если следующие за ним параметры отсутствуют.

Задание параметров инициализации базы данных

При использовании встроенной БД параметры инициализации могут задаваться через внешний файл. Для этого служит команда:

drwcsd.exe initdbex <response-file>

<response-file> — файл, в котором записаны параметры инициализации БД, построчно, в том же порядке что и параметры команды initdb.

Формат файла:

<полное_имя_файла_лицензионного_ключа>

<полное_имя_файла_sql_скрипта>

<полное_имя_ini_файла>

<пароль_администратора>

При использовании под ОС Windows response-файла возможно использование любых символов в пароле администратора.

Хвостовые строки, следующие за необходимым в конкретном случае параметром, необязательны. Если строка представляет собой "-" (один знак минуса), то используется значение по умолчанию (как в initdb).

Обновление базы данных

drwcsd [<ключи>] updatedb <скрипт> — произвести какую-либо манипуляцию с базой данных (например, обновление при смене версии), выполнив SQL- или Lua-скрипт из указанного файла.

Обновление версии базы данных

drwcsd upgradedb [<каталог>] — запустить Сервер для обновления структуры базы данных при переходе на новую версию из указанного каталога (см. каталог update-db) или через внутренние скрипты.

Экспорт базы данных

a)drwcsd exportdb <файл> — экспорт базы данных в указанный файл.

Пример для ОС Windows:

C:\Program Files\DrWeb Server\bin\drwcsd.exe -home="C:\Program Files\DrWeb Server" -var-root="C:\Program Files\DrWeb Server\var" -verbosity=all exportdb "C:\Program Files\DrWeb Server\esbase.es"

Под OC семейства UNIX действие выполняется от имени пользователя drwcs:drwcs в каталог $DRWCS_VAR (кроме ОС FreeBSD, которая по умолчанию сохраняет файл в директорию, из которой запущен скрипт; если указать путь явно, то директория должна быть с правами на запись для <пользователя>:<группы>, которые были созданы при установке, по умолчанию — drwcs:drwcs).

b)drwcsd xmlexportdb <xml-файл> — экспорт базы данных в указанный xml-файл.

Если указать расширение файла gz, то при экспорте файл базы данных будет упакован в архив gzip.

Если расширение не указать или указать расширение, отличное от gz, то файл экспорта не будет архивироваться.

Пример для ОС Windows:

Для экспорта базы данных в xml-файл без сжатия:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.db

Для экспорта базы данных в xml-файл, упакованный в архив:

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" "-home=C:\Program Files\DrWeb Server" "-bin-root=C:\Program Files\DrWeb Server" "-var-root=C:\Program Files\DrWeb Server\var" -verbosity=ALL -rotate=10,10m -log=export.log xmlexportdb database.gz

Пример для ОС семейства UNIX:

Для экспорта базы данных в xml-файл без сжатия:

/etc/init.d/drwcsd xmlexportdb /es/database.db

Для экспорта базы данных в xml-файл, упакованный в архив:

/etc/init.d/drwcsd xmlexportdb /es/database.gz

Импорт базы данных

a)drwcsd importdb <файл> — импорт базы данных из указанного файла (старое содержимое БД стирается).

b)drwcsd upimportdb <файл> [<каталог>] — импорт и обновление базы данных, полученной при экспорте с Сервера предыдущих версий (старое содержимое БД стирается). Также можно указать путь до каталога со скриптами для обновления структуры базы данных при переходе на новую версию (аналогично команде upgradedb).

c)drwcsd xmlimportdb <xml-файл> — импорт базы данных из указанного xml-файла.

d)drwcsd xmlupimportdb <xml-файл> [<каталог>] — импорт и обновление базы данных, полученной при xml-экспорте с Сервера предыдущих версий. Также можно указать путь до каталога со скриптами для обновления структуры базы данных при переходе на новую версию (аналогично команде upgradedb).

e)drwcsd xmlimportdbnh <xml-файл> — импорт базы данных из указанного xml-файла без учета хеша. Может использоваться, например, если xml-файл базы данных правился вручную, и хеш файла, записанный автоматически при экспорте, стал неактуальным.

Перед использованием команд upimportdb и xmlupimportdb необходимо выполнить резервное копирование базы данных.

Любые проблемы в процессе выполнения данных команд могут привести к удалению всей информации из базы данных.

 

Использование команд upimportdb и xmlupimportdb для импорта с обновлением версии базы данных возможно только в пределах одной СУБД.

Дамп экспорта базы данных

drwcsd [<ключи>] dumpimportdb <файл_БД> [<файл_SQL> [<фильтр_таблиц>]] — записать в файл журнала Сервера или SQL-файл подробную информацию о встроенной или внешней базе данных.

Импорт и экспорт базы данных при выполнении команды dumpimportdb не производится.

<файл_БД> — файл экспорта базы данных, информация о которой будет записана в журнал Сервера или в <файл_SQL>. Файл экспорта может быть получен при помощи команды exportdb; также возможно использование файла, полученного при резервном копировании базы данных. XML-файл, полученный при помощи команды xmlexportdb не принимается.

<файл_SQL> — файл для записи всех SQL-запросов, которые будут выполняться в случае импорта базы данных из файла, указанного в <файл_БД>. Если SQL-файл не указан, запись осуществляется в журнал Сервера (в виде списка таблиц и их полей). Если файл указан - то только в SQL-файл.

<фильтр_таблиц> — список таблиц базы данных, информация о которых будет выведена в <файл_SQL>. Список таблиц необходимо указывать через запятую. Названия должны соответствовать названиям таблиц в базе данных. Например: admins,groups,stations. Фильтр таблиц действителен только при выводе в SQL-файл. Если список таблиц не указан, выводятся все таблицы.

Проверка базы данных

drwcsd verifydb — запустить Сервер для проверки базы данных. Для записи информации о результатах в файл журнала следует вводить команду с ключом -log. Подробно особенности использования данного ключа описаны в п. З3.8. Описание ключей.

Ускорение базы данных

drwcsd [<ключи>] speedupdb — выполнить команды VACUUM, CLUSTER, ANALYZE для ускорения работы с БД.

Восстановление базы данных

drwcsd repairdb — выполнить восстановление поврежденного образа встроенной базы данных SQLite3 или поврежденных таблиц внешней базы данных MySQL.

Восстановление SQLite3 также может выполняться автоматически при запуске Сервера, если в настройках базы данных SQLite3 в Центре управления установлен флаг Восстанавливать поврежденный образ автоматически (см. Руководство администратора, п. Восстановление базы данных).

Очистка базы данных

drwcsd cleandb — очистить базу данных Сервера, удалив все таблицы.