用tar如何实现磁带的追加备份?

发表于:2007-05-26来源:作者:点击数: 标签:
我在用tar作磁带的追加备份时,后面的文件老是充掉前面的文件: #tartv8file1.Z #tapeeod将磁带定位于数据尾 #tartv8file2.Z 查看结果: #tartv8 --------------file2.Z 请教各位朋友,如何实现磁带的追加备份?好象-r命令对磁带没有用。 CNL 回复于:2004-0

我在用tar作磁带的追加备份时,后面的文件老是充掉前面的文件:
#tar tv8   file1.Z
#tape eod         将磁带定位于数据尾
#tar tv8 file2.Z

查看结果:
#tar tv8
--------------     file2.Z

请教各位朋友,如何实现磁带的追加备份?好象-r命令对磁带没有用。

 CNL 回复于:2004-09-27 10:45:47
#tar rv8 file2.Z 
这样呢?

 小雨飞 回复于:2004-09-27 11:08:55
用#tar rv8 file2.Z 
不行啊!

 CNL 回复于:2004-09-27 11:17:41
$tape eod  
将磁带定位到所写数据的结尾。将文件备份到磁带上: 
$tar cv8 *** 
***是所要备份的文件名。磁带机使用的设备文件是/dev/nrct0时(此设备的特点是使用后不反绕),如果每次备份后磁带不取出,则可以直接执行命令: 
$tar cvf /dev/nrct0 *** 
这样呢?

 hlj 回复于:2004-09-27 11:21:45
这样的话, tar  tv8  能列出所有的吗?

 CNL 回复于:2004-09-27 11:35:58
应当可以的,当然需要先反绕磁带到头部了

 小雨飞 回复于:2004-09-27 11:42:53
还是不行,我试过了!

 CNL 回复于:2004-09-27 16:52:14
总结一下哦:
rv只对硬盘档案文件有效,对磁带机的不行。

tar tv8一次只能看一次备份的文件,如果看所有的,
每次tar tv8后都会回到头,还需要搞N-1次tape rfm前进到第N个备份过程所在的文件标志段

给个精华吧。 :em16: 

[quote:a2382bda56]
备份文件的查看 
执行一次tar命令只能查看一次备份的文件。根据磁带备份的特点,在每次备份的最后都写一个文件标志(filemark)。因此,我们可以用tape命令调整磁带的定位,查看完一次备份的文件后,把磁带向前卷到下一个文件标志,以查看下一次的备份文件,并直到查看完全部文件为止。
一个简单的shell程序以实现查看所有磁带文件(#号后为注释): 
[code:1:a2382bda56]
tape reset # 磁带控制器和磁带驱动器复位,此操作的目的是清除某些错误条件,并返回到磁带子系统加电时的初始状态 
end=0 cs=0 # end=0 可继续查看文件,end=1 查看文件结束,cs记录查看文件的次数 
while [ $end -eq 0 ] 
do 
    tar tv8 
    cs=`expr $cs + 1`
    cs1=$cs 
    while [ $cs1 -ne 0 ] 
    do 
        cs1=`expr $cs1 - 1`
        tape rfm 2>/dev/null  # tape rfm 的功能是把磁带向前卷到下一个文件标记 
        end=$? 
    done 
done 
[/code:1:a2382bda56]

文件的恢复 
只需将上述shell程序中的tar tv8命令改为tar xv8命令,即可实现磁带内所有文件的恢复。当然,若想恢复/查看指定文件,或恢复到指定的路径下,只需在上述shell程序中指定文件名或路径名即可。 

[/quote:a2382bda56]

 sdclearcase/" target="_blank" >ccf 回复于:2004-09-27 18:06:59
我记得以前有一些型号的磁带机(60M/150M)是支持分段存储的,现在不用磁带机了,不知道现在的磁带机是否支持。一般就是用tape rfm来控制在哪个段存储。

原文转自:http://www.ltesting.net