敬业的IT人 >> 操作系统 >> Unix >> 在SCO Unix系统中实现业务数据的自动备份

在SCO Unix系统中实现业务数据的自动备份

敬业的IT人 互联网 佚名 2008-1-3 10:00:17

  对银行、电信等行业来说,业务数据是非常重要的。本文以某银行会计集中核算系统为例介绍如何在SCO Unix下实现业务数据自动备份的方法。

  在某银行会计集中核算系统中, 操作系统使用SCO OpenServer5.0.6,数据库产品使用Informixonline5.10、Informixsql4.20、Informixesql/c5.10,服务器由生产机和备用机组成,地市中支服务器没配磁带机,备份由操作员每天通过软盘备份到备用机。其实,在Unix系统中,可通过自动安排系统作业调度来完成备份工作,在系统空闲时间里自动执行任务。定期完成数据的本机备份和备用机备份等,使数据备份做到及时安全。

  建立数据备份用户

  首先建立一个用户,如jzhsbk,将该用户的属组设定为jzhs,权限为755。在该用户下存放备份的各种数据,以便统一备份到备用机上。

  用系统例行工作安排作业

  Unix系统有一个始终运行的守护进程,该进程可以在正常调度的间隙运行作业,用户可以在一个文件中指定crontab命令运行的任务,cron守护程序在初始化或该文件修改后自动读取其内容,可通过建立用户jzhsbk的作业调度命令来实现。

  在生产机用命令“crontab-u jzhsbk -e”来编辑jzhsbk文件,安排jzhsbk用户的作业任务,内容如下,其中bdbf为本机备份程序,wlbf为网络备份程序。

  30 21 * * 1─5 bdbf

  30 22 * * 1─5 ftp-inv第一行内容的含义是每星期一至星期五21∶30运行bdbf程序,将数据备份至/usr/jzhsbk目录下。 第二行内容的含义是每星期一至星期五22∶30运行wlbf程序,将备份至/usr/jzhsbk目录下的数据通过网络传送到备用机上存储。

  作业任务选择晚上进行,是为了确保所有用户已退出系统,在后台运行的服务进程已中断,系统处于空闲状态。

  本机数据备份

  先将数据在生产机进行备份和压缩,数据备份和压缩程序如下:

  INFORMIXDIR=/u/Informix

  PATH=$PATH: $INFORMIXDIR/bin:$INFORMIXDIR/etc:/usr/bin:/usr/jzhss/dbs:.

  TERMCAP=$INFORMIXDIR/etc/termcap

  SQLEXEC=$INFORMIXDIR/lib/sqlturbo

  TBNCONFIG=tbconfig.ini

  DBDATE=Y4MD/

  export PATH INFORMIXDIR TERMCAP SQLEXEC TBNCONFIG DBDATE

  rm -rf jzhs.exp

  dbexport jzhs > /dev/null 2>&1(生成jzhs.exp目录)

  rm -f jzhs.tar

  tar cvf jzhs.tar jzhs.exp ┄/conf/dljyxh.txt ┄/conf/jbwlsh.txt ┄/conf/fbwlsh.txt ┄/conf/zfjyxh.txt

保留:: 进入讨论组讨论。

  rm -f jzhs.tar.Z

  compress -f jzhs.tar

  a=`date +%y%m%d`2

  mv jzhs.tar.Z $a

  程序中所设置的环境变量同Informix用户的环境变量设置一样,所有需要备份的数据用tar命令拷贝至/usr/jzhsbk目录下,再压缩。最后将文件改名为带账务日期的年(4位)月(2位)日(2位)日终文件,日终标志最后一位为2。例如文件名为200311302的文件,为2003年11月30日的日终数据备份。

  数据备份到备用机

  如何让生产机备份的数据自动备份到备用机,可通过编写shell脚本实现,FTP传输文件时调用该脚本即可,例如:对上述/usr/jzhsbk目录下的数据文件传输到备用机,在生产机上编写如下脚本来完成。

  open hostgs

  user login passwd

  mpt *2

  bye

  程序中的hostgs为备用机的主机名,也可使用备用机的IP地址。该主机名需在本机/etc

  /hosts文件中定义。login、passwd是备用机主机中为备份数据而建立的用户名和口令字,当系统例行程序调用此程序时,可将数据全部备份至备用机的login用户下。

  数据恢复

  数据恢复实际是数据备份的逆过程,本机备份数据可用命令将数据文件拷贝到/usr/jzhss/dbs目录下。备用机备份的数据可用FTP命令将某天数据传输至该目录下,改名为jzhs.tar.Z,用uncompress.Z解压。再用命令“dbimport jzhs -d absdbs I /usr/jzhsss/dbs”将/usr/jzshss/dbs目录下的数据目录jzhs.exp导入absdbs dbspace中,absdbs为Online建立的数据空间。须注意的是恢复数据库时,原数据库必须删除。

进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com