在SCO Unix系统中实现业务数据的自动备份
对银行、电信等行业来说,业务数据是非常重要的。本文以某银行会计集中核算系统为例介绍如何在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建立的数据空间。须注意的是恢复数据库时,原数据库必须删除。
进入讨论组讨论。- 最新文章
- UNIX 工作站上的数学工具[01-03]
- unix安全编程: 最小化特权[01-03]
- UNIX 常用指令介绍[01-03]
- Unix环境下Oracle数据库完全优化详解[01-03]
- unix系统管理员工具包: 充分利用 zsh[01-03]
- 测试一下你的UNIX基础知识有多少[01-03]
- 相关文章
- UNIX 工作站上的数学工具[01-03]
- unix安全编程: 最小化特权[01-03]
- UNIX 常用指令介绍[01-03]
- Unix环境下Oracle数据库完全优化详解[01-03]
- unix系统管理员工具包: 充分利用 zsh[01-03]
- 测试一下你的UNIX基础知识有多少[01-03]
