2.) 逻辑日志的备份
仅仅做0级备份还不够,还要做逻辑日志备份才能完整的恢复数据,
建议每天业务开始时,执行连续备份逻辑日志(ontape -c),业务结
束前停止ontape -c ,换磁带,做一次0级备份(ontape -s -L 0),换
磁带再执行ontape -c
3)系统恢复
当系统出现错误,或你想把系统恢复到某一时间点的数据时,必须利
用0(1,2)备份带和逻辑日志备份来恢复系统,命令如下:
# ontape -r
2. 使用dbexport 命令备份数据
尽管ontape是一个安全性很高的备份工具,但操作比较烦琐,必须每天
要手动备份及换磁带,所以编写一个自动备份程序,这样大大解放了系
统管理员的工作。
具体实现方法如下:
在/usr/backup目录下用vi编写backup.sh文件,将文件的权限改为"664",
内容如下:
INFORMIXDIR=/usr/informix (设置online路径)
PATH=$PATH:/usr/informix/bin
INFORMIXSERVER=post
export INFORMIXDIR INFORMIXSERVER PATH
wk=`date +20%y%m%d` #设置变量wk代表当天日期例如 20010101
dir=/usr/backup/$wk #设置数据存放目录
if test ! -d $dir #检验目录是否存在
then
mkdir $dir
else
rm -r $dir/*
fi
#由于使用dbexport命令时,所有正在使用数据库操作的用户必须退出,
所以用fuser -k 命令先将所有用户的进程杀掉,然后再重新启动Online.
fuser -k 用户注册目录(例如/u/motor)
sleep 10
onmode –uy #关闭online
sleep 10
onmode –m #启动online
sleep 10
cd /usr/backup
dbexport 数据库名1 -o $dir #将数据库卸到当天目录中
dbexport 数据库名2 -o $dir
…
rm sjbf*
tar cvf sjbf.tar $dir #将目录打包
compress -H sjbf.tar #压缩打包文件
#为了保证数据的安全性,将数据传送到另一台主机
da=`date +%m%d` #创建传送文件名
da1=`date +%H`
da=$da.$da1.Z
ftp -nv 142.73.111.10<
user backup backup #10主机上建立用户backup口令是backup
put sjbf.tar.Z $da
quit
!
rm -r $dir/*
cd /usr/backup
mv sjbf.tar.Z $dir #将压缩文件移到目录中
编辑backup.cron文件,内容如下
30 1 * * 1-6 /usr/backup/backup.sh
在root用户下执行 crontab backup.cron ,就可以让系统自动,
由于白天业务比较忙,所以将备份时间定在每星期一到六凌晨1:30,
具体crontab命令的用法请参考SCO OpenServer用户手册。