3. 继续写入数据tar rvf /dev/st0 <要写入的文件名>
磁带存储是线性存储,所有数据是依次写入的。为了不覆盖前边的内容,在写入时候,要使用rvf参数写入内容。
tar rvf /dev/st0 test2.tar.gz
再执行一次rvf继续写入其他的文件:
tar rvf /dev/st0 test3.tar.gz
写入完成后,查看磁带上有哪些文件:
[root@dev131 /root]# tar tvf /dev/st0-rw-r--r-- root/root 320 2006-12-01 09:29:02 test1.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:44:19 test2.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:30:14 test3.tar.gz[root@dev131 /root]#
可以看到,新写入的文件和原文件都存储在了磁带上。
磁带的线性存储特性,使得磁带上可以写入两次相同的文件。例如现在test3文件发生了文件大小的变化,再次写入到磁带:
tar rvf /dev/st0 test3.tar.gz
查看文件列表,可以看到磁带上有如下文件:
[root@dev131 /root]# tar tvf /dev/st0-rw-r--r-- root/root 320 2006-12-01 09:29:02 test1.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:30:14 test2.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:44:19 test3.tar.gz-rw-r--r-- root/root 67085 2006-12-01 09:44:19 test3.tar.gz[root@dev131 /root]#
这里可看到,磁带上有两个文件同名的文件写入。这个文件的两次备份大小和时间可以相同,也可以不相同。
注意:在磁带上如果相同文件写入了多次,在恢复时候会比较麻烦,需要先将磁带卷至文件所存储的地方,而后读取磁带当前位置所存储的文件,操作较为复杂,速度也比较慢。所以不建议在一盘磁带上写入相同文件名的文件。备份前,最好将备份文件的文件名上加上时间标记,便于查找备份。例如要备份的文件名是test-20061201-0930.tar.gz和test-20061201-0945.tar.gz,则写入到一盘磁带上。如此在执行备份和恢复操作时候,能够更加便利快捷的进行存取操作。
4. 读取数据tar xvf /dev/st0 <要读取的文件名>
读取数据前,首先查看磁带上的内容,获取要恢复的文件名。例如查看后得到如下结果:
[root@dev131 /root]# tar tvf /dev/st0-rw-r--r-- root/root 320 2006-12-01 09:29:02 test1.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:30:14 test2.tar.gz-rw-r--r-- root/root 320 2006-12-01 09:44:19 test3.tar.gz[root@dev131 /root]#
现在恢复其中的test3.tar.gz文件,执行如下命令:
tar xvf /dev/st0 test3.tar.gz
读取数据后。
[root@dev131 ~]# tar xvf /dev/st0 test3.tar.gztest3.tar.gz[root@dev131 ~]#
随后可以在当前的路径下找到从磁带中读取出来的文件:
[root@dev131 ~]# ls -l test3.tar.gz-rw-r--r-- 1 root root 320 Dec 1 11:12 test3.tar.gz[root@dev131 ~]#
至此恢复操作完成。
通过上文所介绍的tar命令,使用tvf/cvf/rvf/xvf参数,即可实现对磁带的读取、写入操作。使用预先写好的复制数据脚本,配合上磁带机操作命令,并且放置到/etc/crontab中,即可实现自动备份。