分享
 
 
 

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

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在UNIX系统中,为了使数据备份变得轻松、容易、安全,最好的办法就是自动安排系统例行工作(系统调度),在系统空闲时间里自动执行任务。如定期删除一些流水文件、日志文件,定期完成数据的本地备份和异地备份等。这样既发挥了UNIX系统的卓越功能,又减轻了系统管理员的工作量,使数据备份做到及时安全。

一、建立数据备份用户

首先建立一个用户,如:userbk,将该用户的属主、属组设定为Informix,权限为755。在该用户下存放备份的各种数据,以便统一备份到磁带上或异地机器上。

二、用系统例行工作安排作业

UNIX系统有一个始终运行的守护进程,该进程可以在正常调度的间隙运行作业,用户可以在一个文件中指定crontab命令运行任务,cron守护程序在初始化或该文件修改后自动读取其内容。crontab文件中指定的各个域为:

分钟小时月日星期几命令

如文件/usr/spool/cron/crontabs/root存放超级用户调度的命令,内容为:

17 5  0 /etc/cleanup>/dev/null

0 2  0,4 /usr/lib/cron/logchecker

3 3 /usr/lib/cleantmp>/dev/null

1 3 /etc/setclk-rd1800>/dev/null 2>&1

#5 18 1-5/usr/lib/sa/sa2 -s 8:00 -e 18:01-i 1200-A

0 4 0 /etc/custom -V symlinks;#CUSTOM -SYMLINK -REPORT

0 0 1-5 scosh cronsched-r

0 01 scosh cronsched-wr

第一行的作用是在每周星期日5:17执行/etc/cleanup来清除系统上的某些日志文件。第二行的作用是每周星期日和星期四2:00执行/usr/lib/cron/logchecker来检查守护进程cron的日志文件。第三行为每天3:03运行/usr/lib/cheantmp命令清除指定目录中的临时文件等。

用户可以用命令crontab -u root -e来编辑此文件,在文件最后加入一行内容:

0 3  kill-user

此行内容为每天3:00运行kill-user,此命令文件的任务是终止某些用户的进程。

同样,用命令crontab-u userbk -e来编辑userbk文件,安排userbk用户的作业任务,内容如下:

10 3 bdbf

30 5  0 ftp -inv<ydbf>ydbf.log

0 2  1 rm .log

第一行内容为每天3:10运行bdbf程序,使数据备份至/usr/userbk目录下, 并拷贝到磁带上。第二行内容为每周星期日5:30运行ydbf程序,将备份至/usr/userbk目录下的数据通过网络传送到异地机器上存贮,并将备份信息写入 ydbf.log日志文件中。第三行内容为每月1日2:00删除/usr/userbk下的日志文件。

三、本地数据备份

笔者使用的操作平台为SCO Openserver5.04系统,数据库为Informix4.0和Informix-Online7.3两种版本。在Informix4.0上使用的业务有“人身保险”(用户名rsbx)、“子女备用金保险”(用户名zbbx)等。数据以字符串形式保存在各自的目录下,备份时可用tar命令或cpio命令将整个用户目录备份即可。而在Informix-Online7.3上应用的有“综合处理系统”(用户名c4g1,库名picc2.dbs),“会计记帐系统”(用户名为claf,库名account.dbs)等,数据存放在Online指定的设备上,平时采用ontape -s命令备份,但由于此命令实现自动备份较困难,并且不能和其它数据备份到一盘磁带上,会造成备份介质的浪费。所以最好采用 dbexport命令备份数据。运行dbexport命令的前提是调用数据库的相关用户必须

退出,一旦有一个应用点没有退出,备份就会失败。为了确保数据的安全备份,需编制一个终止进程的命令文件,即前述中由超级用户调度的kill-user程序。

程序1:/usr/bin/kill-user

ps -u rsbx >tmp-a

ps -u zbbx >>tmp-a

ps -u c4gl >>tmp-a

ps -u claf >>tmp-a

cut -cl-6 tmp-a >tmp-b

while read a

do

kill-9 $a

echo “kill alread$a”|cat>>/tmp/kill-user.log

done <tmp-b

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建立的数据空间,须注意的是恢复数据库时,原数据库必须删除。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有