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

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

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

Значения для флагов должны быть указаны в формате %true и %false, либо 1 и 0.

drwcsd [<ключи>] modexecdb database-init [<лицензионный_ключ> [<пароль>]] — инициализация базы данных.

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

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

Если требуется пропустить один или несколько параметров при написании команды, вместо каждого из них следует использовать специальное значение %nil.

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

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

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

drwcsd.exe modexecdb database-init@<response-file>

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

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

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

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

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

Если в строке указано значение %nil, будет использоваться значение по умолчанию (как в database-init).

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

drwcsd modexecdb database-upgrade [pretend] [upgrade_ver_flag] — запустить Сервер Dr.Web для обновления структуры базы данных при переходе на новую версию через внутренние скрипты.

pretend=%falseзначение по умолчанию. Предписывает обновить базу данных. Если указать значение %true, будет выполняться только проверка актуальности базы данных вместо фактического ее обновления.

upgrade_ver_flag=%true — если указано значение %true, во время обновления версия базы данных и данные в базе фиксируются при каждом успешном обновлении до следующей версии схемы базы.

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

a)drwcsd modexecdb database-export <файл> [ignore_tables] — экспорт базы данных в указанный файл.

<файл> — путь к файлу, в который будет выполнен экспорт базы данных.

ignore_tables — позволяет указать строку или таблицу строк с названиями станций, которые не подлежат экспорту. Формат таблиц строк выглядит следующим образом: %{"table1","table2"}. В случае указания строки - table1.

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

"C:\Program Files\DrWeb Server\bin\drwcsd.exe" -home="C:\Program Files\DrWeb Server" -var-root="C:\Program Files\DrWeb Server\var" -verbosity=trace -log="C:\Program Files\DrWeb Server\var\exportdb.log" modexecdb database-export "C:\Program Files\DrWeb Server\esbase.es"

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

b)drwcsd modexecdb database-export-xml <xml-файл> [ignore_tables] — экспорт базы данных в указанный XML-файл.

<xml-файл> — путь к XML-файлу, в который будет выполнен экспорт базы данных.

ignore_tables — позволяет указать строку или таблицу строк с названиями станций, которые не подлежат экспорту. Формат таблиц строк выглядит следующим образом: %{"table1","table2"}. В случае указания строки - table1.

Если указать расширение файла 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=trace -rotate=10,10m -log="C:\Program Files\DrWeb Server\var\exportxmldb.log" modexecdb database-export-xml 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=trace -rotate=10,10m -log="C:\Program Files\DrWeb Server\var\exportxmldb.log" modexecdb database-export-xml database.gz

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

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

/etc/init.d/drwcsd modexecdb database-export-xml /es/database.db

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

/etc/init.d/drwcsd modexecdb database-export-xml /es/database.gz

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

a)drwcsd modexecdb database-import <файл> [ignore_tables] — импорт базы данных из указанного файла. При этом удаляются все записи из всех таблиц, сами же таблицы не удаляются - в них вставляются записи из экспорта.

<файл> — путь к файлу, в который будет выполнен экспорт базы данных.

ignore_tables — позволяет указать строку или таблицу строк с названиями станций, которые не подлежат импорту. Формат таблиц строк выглядит следующим образом: %{"table1","table2"}. В случае указания строки - table1.

b)drwcsd modexecdb database-import-and-upgrade <файл> [import_only_flag] [upgrade_ver_flag] [ignore_tables] — импорт и обновление базы данных, полученной при экспорте с Сервера Dr.Web предыдущих версий. При этом удаляются сами таблицы, новые таблицы создаются по описанию из экспорта. В них вставляются записи из экспорта, после чего запускается процедура обновления.

<файл> — путь к файлу, из которого будет выполнен импорт базы данных.

import_only_flag — если указано значение %true, обновление и верификация базы данных производиться не будут, будет осуществлен только импорт.

upgrade_ver_flag — если указано значение %true, во время обновления базы версия базы данных и данные в ней фиксируются при каждом успешном обновлении до следующей версии схемы базы.

ignore_tables — позволяет указать строку или таблицу строк с названиями станций, которые не подлежат импорту. Формат таблиц строк выглядит следующим образом: %{"table1","table2"}. В случае указания строки - table1.

При указании параметров предыдущие параметры должны быть обязательно выставлены (то есть оба флага должны быть указаны перед ignore_tables).

Перед использованием команды database-import-and-upgrade необходимо выполнить резервное копирование базы данных.

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

 

Использование команды database-import-and-upgrade для импорта с обновлением версии базы данных возможно только в пределах одной БД.

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

drwcsd modexecdb database-verify [full=%false [ignore-version=%false]] — запустить Сервер Dr.Web для проверки базы данных. Для записи информации о результатах в файл журнала следует вводить команду с ключом -log. Подробно особенности использования данного ключа описаны в п. Ж3.8. Описание ключей.

full=%false — определяет режим проверки. При значении по умолчанию (%false) выполняется быстрая проверка, при значении %true — полная.

ignore-version=%false — определяет, нужно ли игнорировать версию схемы базы данных при проверке. По умолчанию %false. Если указано значение true, проверка продолжится даже в случае неправильной версии схемы.

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

drwcsd [<ключи>] modexecdb database-speedup — выполнить команды VACUUM, CLUSTER, ANALYZE для ускорения работы с базой данных.

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

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

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

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

drwcsd modexecdb database-clean — очистить базу данных Сервера Dr.Web, удалив все таблицы.

Смена пароля администратора

drwcsd modexecdb set-admin-password <регистрационное_имя> <новый_пароль> — задать новый пароль для указанной учетной записи администратора.