|
|
|
写在前面
这个东西搞了很久,俺不是程序员。水平底。只做稳定点的备份软件。目前使用的这种方案。使用了国产软件WINWEBMAIL的组件。它本身就是一款邮件服务器,内置了丰富的COM+接口。最终做成的这套尚算稳定的软件不仅简单,可以说是简陋。它或者根本不能称作软件了,只能说是个工具。你也可以根据自己的需要修改它。但是请不要把这个说明文件删掉。这样当有朋友遇到问题时,大家也可以互相交流。有一个收费的MD备份软件叫 Archive Server For MDaemon。功能界面当然比我强多了。但基本备份原理是一样的。我这个就叫做 MDaemon Archive Tools For Free 吧。
软件流程:
设置MD的存档设置后,所有出入站的邮件都会放置在一个用户目录下。我们使用一个运行在服务器端的程序定期的检查这个目录。当这个目录里的邮件超过一百封时,就把它重命名剪切到WINWEBMAIL管理员的用户目录下,之所以要一百封,是因为这样会尽量少的占用系统资源。每次备份最多不超过10秒钟,即使系统因为复制文件有些慢。也是可以接受的,重命名是因为WINWEBMAIL的系统对邮件名有它自己的一套方案。这两套邮件系统的邮件源文件都是遵循标准的格式,只是后缀名不同。所以只要文件名符合WINWEBMAIL的标准。就可以在WINWEBMAIL的编程接口里访问了。剪切过去后。程序会按你设置的备份间隔定期的用XMLHTTP调用一个网页,间隔的时间建议为5分钟。该网页利用WINWEBMAIL的组件遍历管理员目录下所有的邮件,得到发件人,收件人,抄送,主题,发送时间,正文,是否有附件等这些信息。再根据用户事先的定义来判断这些邮件是否符合备份的条件,如条件符合,则将这些信息存入数据库。再把些文件移动到存档目录里。如不符合,就直接删除文件。当用户在查找页面里根据上述条件找到对应的邮件时,可以在线查看邮件内容。(不能查看附件)也可以选择把此邮件复制一份到某个MD用户的目录下。这样该用户就可以用客户端下载了。邮件的信息将保持不变。
安装方法:
1.准备工作。以我的安装情况,是有两台机。一台是已有的邮件服务器A,且负责运行邮件备份程序和检索还原的网站。另一台是备份机B。负责存储数据库和邮件文档。首先你需要确定你的情况。再根据你的情况做出一些准备工作。重要的是邮件存储空间的准备。按一般的经验看。有200个用户的服务器一般月邮件量在一般不超过四万封。约14GB(未压缩)。所以如果你要存储一年的邮件。加上数据库。至少也要准备200GB的空间。
当这些准备好后。请先在备份机上安装MS SQL 2005 SERVER,之所以要2005,其实2000也可以,不过2005的性能 更好一些。然后新建一个名为ArchiveMail的数据库。然后打开查询分析器。登陆后打开本目录下的create.sql脚本。并选择执行以创建数据表。然后在A机的ODBC数据源里创建一个文件DSN。可以访问B机的SQL,文件名为archivemail.dsn (注意你的连接方式最好是用一个专用的登陆,SA也可以。然后检查ODBC目录下的这个文件。用记事本打开,在UID下面加一行pwd=……你的密码。不然默认连接向导是不会为你存储密码的。)
然后在B机上创建一个共享目录。注意设置A机上的某用户的访问权限为完全访问。注意,不要映射网络驱动器。然后把本目录下的web文件夹复制到这个共享目录下。请把A机访问B机这个共享目录的地址记录下来备用。如:\\192.168.1.100\archive\ 后面的archive是你的共享名。这个名字是随意的。
2.完成上述动作后。请在A机的MD上设置存档,把所有的用户邮件放置到某个用户的目录下。用户名可以是backup,或是archive。记得不要限制这个邮箱空间,以免邮箱满了无法存档。设置完成后将A机上的MD服务停掉,然后先安装jmail4.3。这个是用来发通知邮件给管理员的。安装完成后请安装winwebmail 3.7,可以在www.winwebmail.com上下载。安装目录最好选择和刚才设置的MD邮件备份用户邮箱相同的分区。因为同分区移动文件的速度很快。
安装完后运行开始菜单里的主程序,然后点击在系统栏的图标,在菜单上选择系统设置,然后在弹出的窗口中选择端口,把SMTP和POP3的勾去掉。这样它就不会和MD发生冲突了。然后在用户管理的地方把默认用户admin的邮件空间设置得大一些。可以设置成2GB。再为这个唯一的用户设置一个结实的密码。虽然我们不会用到这个密码。再是服务器上多了一个服务。总是要注意安全的吧。接着把事件查看菜单中的自动删除日志的功能启用,时间为一天。这是为了不必要的浪费空间。最后把安装目录下的web子目录的内容全部删除。当然,如果你不想删除也可以剪切到其它地方以备以后研究。
接着请在A机上安装IIS。默认网站的端口号为6681切记,把脚本超时的时间尽量设置得大一点。再把启用父目录的勾打上。然后在默认网站下创建一个虚拟目录。目录名为archive。目标为\\192.168.1.100\archive\web\ 即你是共享目录下的那个网站。访问用户那里请选择你刚才你设置的有权限访问此目录的用户。并填好密码。注意后面的地方要选择可以运行脚本,并有写入权限。最好是为这目录建立一个程序池。这样就快一些。为了安全的考虑建议只在内部使用这个网站。对外不要开放这个6681的端口,因为一般性的维护在内部做都足够了。
3.配置web目录下的conn.asp。确认FILE DSN是你配置的那一个。启动MD服务,在A机上运行archive.exe 如果一切准备都正常程序将正常打开。否则请检查前面准备工作。在界面上请输入按提示要求的内容。注意如果是目录类的参数。请务必在后面以\结束。
设置IIS来宾帐户的访问权限,确认它可以访问MD用户邮件目录,以及winwebmail安装目录下的mail目录。访问权限是完全。
4.确认web目录下的check.asp这个文件的路径为 http://localhost:6681/archive/check.asp
点开始备份程序开始运行,状态处显示为下次检查备份时间的倒计时秒数。
查找还原的功能可以在http://localhost:6681/archive/index.asp后看到。
备份部分基本完成。查找网站还有少许欠缺。主要考虑到是数据库的结构还未到十分完美的地步。如果频繁更改结构。很多工作都要白做。待运行一段时间后看用户反应再完善网站功能。
作者:大碗豆浆 QQ:9949363 E-mail:david_lgg@163.com
[ 本帖最后由 大碗豆浆 于 2006-11-18 20:21 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?会员注册
x
|