如何完成UNIX系统中大批量数据的自动备份( 二 )


do
kill-9 $a
echo “kill alread$a”|cat>>/tmp/kill-user.log
done rm tmp-a tmp-b
程序前5行为列用户进程,并将所要终止的进程存放至/tmp/K-user2文件中,后面的循环语句是杀死进程,并将运行信息存放至/tmp/kill-user.log日志文件中,以备查阅 。此程序放在“/”下或“/usr/bin”下 。
程序2:/usr/user/bdbf 本地数据备份程序
INFORMIXDIR=/user/informix
PATH=$PATH:$HOME/bin:.:$INFORMIXDIR
/bin
INFORMIXSERVER=cbps-shm
ONCONFIG=onconfig.cbps
export PATH MAIL INFORMIXDIR INFORMIXSERVER ONCONFIG
rm -r .Z
find /usr/rsbx |cpio-oacvB>RSBX;compress RSBX
find /usr/zbbx |cpio-oacvB>ZBBX;compress ZBBX

rm-r.exp
dbexport -c picc2 -ss
find ./picc2.exp | cpio-oacvB>PICC2;compress PICC2
dbexport -c account -ss
find ./account.exp | cpio-oacvB>ACCOUNT;compress ACCOUNT

sleep 10
tar c8v .Z
date | cat>>userbk.log
echo“PICC2 ACCOUNT RSBX ZBBX...backup over”|cat>>userbk.log
程序中所设置的环境变量同Informix用户的环境变量设置一样,所有需要备份的数据用归档命令cpio拷贝至/usr/userbk目录下,用户可根据自已的实际情况自行添加,然后用tar命令统一将所有文件拷贝至磁带上,最后将备份信息写到日志文件userbk.log中,这样系统管理员只需每天早晨上班后检查一下是否备份好,然后更换一般磁带即可 。
四、异地数据备份
熟悉网络的人都知道FTP的功能十分强大 , 它主要用于网络之间的文件传输 。一般情况下 , 用户传输多个文件时 , 需登录服务器逐一传输 , 只有等待一个文件传送完毕之后才能传输下一个 , 这样用户需花很长时间守候在终端前等待一个文件传输结束 。为了简化工作,在UNIX平台上FTP支持非在线传输,即用户只需把要输入的命令逐条写进shell脚本,FTP传输文件时调用脚本即可,例:对上述/usr/userbk目录下的数据文件的异地备份 , 可用如下脚本来完成 。
程序3:/usr/userbk/ydbf
open hostgs
user mybackup mypasswd
mpt .Z
bye
程序中的hostgs为异地的主机名 。该主机名需在本地主机/etc/hosts文件中定义 。mybackup、mypasswd是异地主机中为备份数据而建立的用户名和口令字 , 当系统例行程序调用此程序时 , 可将数据全部备份至异地的hostgs主机中mybackup用户下 。
五、数据恢复
本地备份到磁带上的数据可用tar x8v命令将数据文件拷贝到/usr/userbk目录下 。异地备份的数据可用FTP命令传输至该目录下,或者直接用/usr/userbk目录下的数据,用uncompress.Z解压 。
对于Informix4.0版以字符串形式存放的数据,可直接用cpio命令来恢复 。如:rsbx用户数据可用如下命令来恢复:
cpio -icduvB < RSBX
对于Informix-Online的数据恢复 , 需采用如下方法 。如对picc2数据库的恢复可用如下命令来恢复:
cpio -icduvB < PICC2
dbimport picc2 -d workdbs
其中 , workdbs为Online建立的数据空间 , 须注意的是恢复数据库时 , 原数据库必须删除 。

推荐阅读