[color=blue:407069bb5e]
在银行的计算机业务中,多数是使用UNIX操作系统;近年来使用数据库SYBASE、INFORMIX等业务软件,采用数据集中模式,数据量大,用磁带备份业务数据的用户越来越多。磁带机的优势在于:(1)备份数据量大,适宜对文件的批量存储;(2)备份的数据完整,恢复也彻底;(3)安全性高;(4)便于归档保存。但UNIX系统中磁带机操作不象磁盘拷贝操作那样简单,在各种资料中的介绍也不多,应用操作不易掌握。
UNIX系统的常用存储命令有tar dd cpio,dd和cpio主要用于全盘备份或批量文件备份。全盘拷贝比较简单,比如用dd命令进行磁带复制,顺序执行以下命令即可:
#dd if=/dev/nrStp0 of=/tmp/sj 将磁带文件倒入硬盘临时目录,生成一个临时文件sj
#dd if=/tmp/sj of=/dev/nrStp0 将临时文件sj倒入新磁带
一般情况下,需要使用tar命令在磁带上追加,或从磁带上读取一个文件。而tar命令对磁盘操作的参数不完全适用于磁带,因为磁带与磁盘应用的最大差别在于磁带是顺序存储,定位操作较为困难。磁带机无法一次把磁头定位到第n次备份的开始,只能反复执行命令#tar tvf/dev/nrStp0或预先知道已做了几次备份,就执行几次命令#tape rfm走带到n次备份的末尾,十分麻烦。笔者针对银行的门市储蓄业务每天的数据备份工作,编写了一个磁带机定位存储C语言程序tapecp.c,简化了操作,较为适用。以下是对 tapecp命令的介绍。
一、 命令格式:tapecp[cxr]files.z
参数含义:
c ——备份数据文件到磁带
x——恢复磁带数据到计算机
r——显示某天以前的磁带文件
文件名:
files.z——压缩文件格式, files取日期形式 (如:981105.Z)
二、 使用方法举例
1备份11月5日业务数据到磁带
#tar cvf 981105 /u/back/*.*将数据 *.*打包归档为一个文件
#compress 981105 压缩文件
#tapecp c 981105.Z备份文件到磁带的上日备份文件尾
2恢复11月01日业务数据到计算机
#tapecp x 981101.Z 自动定位到磁带文件981101.Z的起始位置,拷贝文件981101.Z到计算机,然后解压缩解包恢复到原目录。
3显示磁带文件
#tapecp r 981109.Z 逐个显示磁带文件,磁头停在文件981108.Z的末尾。
三、 程序限制
程序将每天日期作备份文件名,主要是用日期数为走带次数,以月份数为盘号;用于每天备份数据,一个月用一盒磁带的情况。如银行的门市储蓄业务,每天都要备份数据,一个月用一盒磁带,正好归档保管。如有其它情况,可对程序作适当修改,也能适用。
四、 程序说明
编写tapecp.c,主要利用了 UNIX系统对磁带操作的基本命令 tape和tar
tape是UNIX系统中的磁带维护命令,命令格式:tape<参数>设备名,其中常用的参数为:
.erase 抹带和紧带
.reten 磁带重置
.reset 紧带
.rewind 磁带回绕
.rfm 磁带走到下一个文件标志
.wfm 在当前磁带位置写一个标志
对磁带,tar命令使用时与软盘备份基本一样,但磁带只能顺序存储,有回带不回带的区别。例如:
#tar cvf /dev/rStp0./980501
#tar cvf /dev/rStp0./980502
执行后,磁带上将只有980502的备份, 980501已被覆盖。用非回绕方式,如:
#tar cvf / dev/nrStp0./980501
#tar cvf / dev/nrStp0./980502
执行后,980501和 980502将被备份在磁带的两个连续的区段内,用以下命令可显示备份的文件:
#tape rewind
#tar tvf/dev/nrStp0显示第一个文件980501
#tar tvf/dev/nrStp0 显示第二个文件980502
以上两种方法,用什么方式拷贝,就只能用什么方式读。在tapecp中采用了非回绕方式。同时,使用磁带控制命令 tape rfm,使磁带机走带动作较早在后台完成。并利用日期作文件名,通过用日期数计算走带次数,使磁带能自动的一次定位到指定的位置,减少了磁带机操作的困难。
本程序类似于 tar命令中提供的r参数的功能,对使用磁带机进行业务数据备份提供了较为简便的方法。
作者单位:侯海涛(农业银行四川泸州市分行)[/color:407069bb5e]
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/