H3.3. 数据库管理指令

数据库初始化

进行初始化时应没有数据库或数据库为空。

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指令参数。

文件格式:

<授权密钥文件完整名称>

<管理员密码>

OS 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——可指定不需导出的工作站名称所在字符串或字符串表。

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"

OS UNIX下以用户drwcs:drwcs名义执行操作至目录$DRWCS_VAR(OS FreeBSD除外,此系统下默认为将文件保存到启动脚本的目录。如明确指定路径,则安装时创建的<用户>:<组>应具备写入此目录的权限,默认为drwcs:drwcs)。

b)drwcsd modexecdb database-export-xml <xml文件> [ignore_tables]——将数据库导出至指定的XML文件。

<xml文件>——用于导出数据库的XML文件路径。

ignore_tables——可指定不需导出的工作站名称所在字符串或字符串表。

如文件扩展名为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——可指定不需导出的工作站名称所在字符串或字符串表。

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——可指定不需导出的工作站名称所在字符串或字符串表。

使用指令database-import-and-upgrade前必须进行数据库备份。

执行这一指令过程中出现的任何问题都可能导致数据库全部信息被删除。

 

只能在同一数据库内使用指令database-import-and-upgrade导入来更新数据库版本。

检查数据库

drwcsd modexecdb database-verify [full=false [ignore-version=false]]——启动Dr.Web服务器检查数据库。将检查结果信息记录到日志需在指令中加入参数-log。此参数使用说明见H3.8. 参数介绍

full=false——确定扫描模式。按照默认设置(false)进行快速扫描,设为true则进行完全扫描。

ignore-version=false——确定执行扫描时是否忽略数据库结构版本。默认为false。设为true则即便是结构版本错误也同样执行扫描。

数据库运行提速

drwcsd [<参数>] modexecdb database-speedup ——执行指令VACUUMCLUSTERANALYZE,加快运行数据库的速度。

恢复数据库

drwcsd repairdb——执行受损内设数据SQLite3的还原或外设数据库MySQL受损表格的还原。

启动Dr.Web服务器时可自动恢复SQLite3,如管理中心数据库SQLite3设置中勾选了自动恢复受损镜像(参见管理员手册中的恢复数据库)。

清空数据库

drwcsd modexecdb database-clean——清空Dr.Web服务器数据库,删除所有列表。

更换管理员密码

drwcsd modexecdb set-admin-password <注册名> <新密码> ——为相应的管理员账户指定新密码。