免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5924 | 回复: 4

[Lotus] Lotus Domino Server系统自动异地备份的实现 [复制链接]

论坛徽章:
0
发表于 2008-12-21 00:39 |显示全部楼层
Lotus Domino Server系统自动异地备份的实现
◆ 中国人民银行武汉分行    程东亮
◆ 中国人民银行黄石市中心支行 徐 辉
  Lotus Domino Server系统被广泛应用在人民银行的电子邮件、公文传输及档案管理等方面,促进了员工之间的信息交流,提高了办公效率。但由于Lotus Domino Server系统本身未带备份工具,为保证系统的安全运行,不发生数据丢失现象,管理员必须经常进行手动
备份,其过程繁琐,耗时较长,备份时还需暂停系统服务,影响了系统的连续运行,因此,有必要实现系统的自动数据备份。

  一、实现原理
  经过反复进行系统备份与恢复测试,确定至少应备份的目录和文件为:
  1.备份data目录下用于保存所有用户数据库邮箱、公共通讯录、管理进程、验证日志、公共邮箱等系统的启动参数文件。
  2.备份c:\winnt\system32\drivers\etc目录下的hosts文件,主要用于保存远程邮件服务器名称与IP地址的映射。
  3.备份服务器ID、验证字ID、管理员ID、用户ID等文件。
   如果将hosts文件及ID文件都存放在data目录下,在做自动备份时只需备份data目录即可。
  在深入分析系统备份原理的基础上,对Lotus系统的组成结构与运行原理进行分析,利用编程工具,使Windows操作系统环境下运行的Lotus Domino Server系统能在指定时间暂停系统服务,进行异地备份,自动将数据复制到异地目录下,再自动启动系统服务,系统管理员就能从繁琐的手动备份中彻底解脱出来。
  二、实现步骤
  Lotus Domino Server系统在使用时系统进程处于锁定状态,必须退出系统才能备份,我们分四个步骤完成Lotus Domino Server自动备份工作。一是暂停Lotus Domino Server服务,二是进行自动备份,三是重启Lotus Domino Server服务,四是定时执行任务。下面以实现邮件服务器自动备份为例进行说明,其他的备份类似。
  (一)、编写暂停Lotus Domino Server服务的脚本文件
  dim $domino
  ;判断Lotus Domino Server是否运行
  ;HBHSHE1N/servers/PBC: Lotus Domino Server为Lotus Domino Serve窗口名字
  $domino=WinExists (“HBHSHE1N/servers/PBC: Lotus Domino Server”)
  ;存在则激活窗口为焦点,并发送quit命令
  if($domino=1) then
  WinActivate(“HBHSHE1N/servers/PBC: Lotus Domino Server”)
  send(“quit{ENTER}”)
  endif
  (二)、备份数据到日期目录的批处理文本
  rem 数据保存目录,在该目录下按日期建子目录
  D:
  cd \autobak
  rem 取系统日期
  @FOR /F “usebackq delims= ” %%i IN (`date /T`) DO set WORKDATE=%%i
  rem 判断日期目录是否存在,不存在就建日期目录
  if not exist %WORKDATE% md %WORKDATE%
  rem 判断命令是否执行成功
  if not errorlevel 0 echo 建立目录[%WORKDATE%]失败
  rem 进入对应日期目录
  cd %WORKDATE%
  D: \autobak \ rar a -r -ag -m1 -ri1:5 D: \autobak \%WORKDATE%\ D:\Lotus\Domino\Data\
  rem @echo为生成FTP传送脚本
  @echo open 11.32.*.*>>ftpcmd
  @echo user username password>>ftpcmd
  @echo prompt>>ftpcmd
  @echo mkdir %WORKDATE%>>ftpcmd
  @echo cd %WORKDATE%>>ftpcmd
  @echo bin>>ftpcmd
  @echo mput *.rar >>ftpcmd
  @echo bye>>ftpcmd
  rem 上传数据到FTP服务器
  @ftp -nnull
  @del ftpcmd
  rem 返回到起始目录
  D:
  (三)、编写重启Lotus Domino Server服务,并检测启动服务密码的脚本文件
  dim $domino
  ;判断Lotus Domino Server是否运行,已运行则退出脚本
  $domino=WinExists(“HBHSHE1N/servers/PBC: Lotus Domino Server”)
  if($domino=1) then
  Exit
  Endif
  ;运行Lotus Domino Server
  Run(“D:\Lotus\Domino\nserver.exe”)
  ;激活窗口为焦点,并发送密码
  WinActivate(“HBHSHE1N/servers/PBC: Lotus Domino Server”)
  Send(“********{ENTER}”)//输入密码
  (四)、在前期脚本工具准备好后,使用AutoIt3工具(下载网址:http://www.skycn.com/soft/2796.html),将两个脚本文件编译成为可执行文件。然后使用EZ Scheduler定时工具(下载网址:http://www.skycn.com/soft/4054.html)或者Windows系统自带的计划任务工具,添加三个任务:定时暂停Lotus Domino Server服务任务、备份任务和重启Lotus Domino Server服务任务。图1所示是邮件服务器定时设置示例图。
  

图1  邮件服务器定时设置示例图
  在解决了自动定时暂停和重启Lotus Domino Server服务的问题后,为便于数据恢复时的查找,将日期和时间因素放到文件名中,实现对Lotus Domino Server系统重要目录和文件的自动备份。备份时还能对数据进行压缩,减少磁盘占用空间,缩短数据传输时间,提高
备份的效率。这种异地备份的方式,使系统中保存了两套备份数据,大大提高了Lotus Domino Server系统数据的安全性。
(责任编辑:高碧波)

论坛徽章:
0
发表于 2008-12-21 00:42 |显示全部楼层

回复 #1 hhhwin 的帖子

不是很明白,可不可以写一整个批处理,关闭---备份----启动  都一个批处理完成呢?在华南金融杂志看的,拿出来可大家分享,希望大家多多发表意见,domino自动备份不用其他软件如何实现?谢谢

论坛徽章:
0
发表于 2008-12-21 00:45 |显示全部楼层

回复 #1 hhhwin 的帖子

domino自动启动如何实现,批处理,如何写入密码后确定进入呢?

论坛徽章:
0
发表于 2008-12-21 22:32 |显示全部楼层

回复 #1 hhhwin 的帖子

使用AutoIt3工具  怎么生成不了EXE文件呢?请问大家究竟是怎么自动备份domino的?有没有备份的批处理文件共享一下呢?或者方法也可,谢谢!hzy_win@163.com

论坛徽章:
0
发表于 2008-12-30 10:33 |显示全部楼层
学习下.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP