19
2014
05

如何同步WFilter数据库?

一个WFilter监控主机可以监控一个局域网的上网行为,当您有多个局域网需要管理的时候,需要在每个网络都安装一套WFilter才可以。

为管理多个WFilter服务器,我们推荐您在WFilter界面中直接切换到不同的服务器进行查看。请参考:如何集中管理多个超级嗅探狗监控服务器?

有些情况下,个别用户可能需要把数据集中存放以便于管理。要实现这样的功能,您必须安装WFilter的数据库版本。从而利用数据库的管理功能来同步WFilter数据库。

本例中,我们将演示如何用mysqldump来同步WFilter数据库(mysql版本)

1. 安装WFilter数据库版本

请参考:WFilter数据库版本的安装

WFilter数据库结构:WFilter 4.1版本数据库结构

2. 编写数据库导出脚本

编辑一个export_wfilter.bat文件,导出每日的新增历史数据。该bat在d:\wfilter_export文件夹中生成两个文件,分别是监控设备列表的记录和每日的日志数据。

[FONT-SIZE=2] [I] @echo off rem export_wfilter.bat rem 先获取今天的日期 for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do ( set t=%%a ) set Today=%t:~0,4%-%t:~4,2%-%t:~6,2% rem echo,%Today% rem 切换到mysql文件夹 cd "c:\program files\mysql\mysql server 5.5\bin" rem 导出监控设备列表 mysqldump WFilter computerslistbyip computerslistbymac -u root -pim1234 > d:\wfilter_export\computerslist_%Today% rem 导出websurflog, webpostlog等记录表 mysqldump WFilter ftplog maillog websurflog webpostlog imlog imauthlog webmaillog filedata --where="left(happentime,10)='%Today%'" -u root -pim1234 > d:\wfilter_export\log_%Today% rem 在这添加后续操作,比如FTP到远程服务器 [/I] [/FONT-SIZE]

您可以继续完善该批处理,比如导出完成后把导出的文件FTP到远程服务器上等功能。然后把该批处理加到计划任务中即可每日自动运行。

3. server端自动导入

server端在收到该文件后,需要再运行脚本把记录导入到中心数据库。server端即可用WFilter界面查看所有的记录。

编辑一个import_wfilter.bat文件,导入每日的新增历史数据。

[FONT-SIZE=2] [I] @echo off rem 先获取今天的日期 for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do ( set t=%%a ) set Today=%t:~0,4%-%t:~4,2%-%t:~6,2% rem echo,%Today% rem 切换到mysql文件夹 cd "c:\program files\mysql\mysql server 5.5\bin" rem 清空计算机列表 mysql -uroot -pim1234 -e "truncate table computerslistbyip" WFilter mysql -uroot -pim1234 -e "truncate table computerslistbymac" WFilter rem 导入计算机列表 mysql -uroot -pim1234 WFilter < d:\wfilter_export\computerslist_%Today% rem 导入当日日志 mysql -uroot -pim1234 WFilter < d:\wfilter_export\log_%Today% [/I] [/FONT-SIZE]

把该脚本加入计划任务即可,时间安排上要在客户端都把文件拷贝之后再运行。

请注意:本例中演示的批处理文件只是处于演示的目的,并且没有包括文件传输的部分,您可以在此基础上进行修改以满足您的需要。

« 上一篇 下一篇 »