Solaris 磁带设备使用方法( 二 )


1. 将所有位于:/dev/rdsk/c0t3d0s0下的文件拷贝到一个称为:/dev/rmt/0的dump文件
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0
0 ----表示dump的级别 。级别0拷贝全部的文件系统到磁带中,有效的级别为0---9, 1---9执行的是增量备份,只会拷贝在当前时间后改变的文件 。
u ----表示如果成功的话,则对文件:/etc/dumpdates中的dump记录使用时间戳做一次更新
f ----指定dump文件(逻辑设备名或磁带设备) 。f参数后,必须要跟随一个文件名,在本例中是:/dev/rmt/0
/dev/rdsk/c0t3d0s0包含你想要将文件写入磁带的源名字 。

命令:ufsrestore
这个命令从一个磁带拷贝文件系统到一个硬盘 。它只能拷贝由ufsdump创建的文件 。
它必须使用以下的三个参数中的一个:
i ----(交互)从介质中读取目录信息后,ufsrestore调用一个交互式接口允许你浏览dump文件的层次结构,并选择文件进行扩展
r ----(递归)将介质中的全部内容恢复到当前目录(它将是文件系统中的顶级),为了完整的恢复一个文件系统,要使用这个参数来恢复级别为0的dump,并再次恢复每个增量dump 。
t ----(内容列表)提供磁带中的所有文件列表

以下的参数为不是必须的:
f ----(dump文件)指定从哪里恢复dump文件 。如果dump文件没有被指定,那么,ufsrestore将使用 /dev/rmt/0
v ----(详细模式)显示从磁带中读取的路径名

1. 举个例子,如下:
# cd /work
# ufsrestore if /dev/rmt/0
ufsrestore> ?
Available commands are:
ls [arg] - list directory
cd arg - change directory
pwd - print current directory
add [arg] - add ‘arg" to list of files to be extracted
delete [arg] - delete ‘arg" from list of files to be extracted
extract - extract requested files
setmodes - set modes of requested directories
quit - immediately exit program
what - list dump header information
verbose - toggle verbose flag (useful with ‘‘ls"")
help or ‘?" - print this list
IF no ‘arg" is supplied, the current directory is used

ufsrestore> ls
4lib/ dict mail openwin spool
5bin games man/ preserve src
adm include/ net pub tmp

使用命令:add来增加要扩展的文件和目录到文件列表
ufsrestore> add mail man

现在,从磁带中扩展这些文件,它们将被释放到你当前的工作目录:
ufsrestore> extract

当你所需要的文件被扩展后,就可以退出ufsrestore了
ufsrestore> q

命令:tar
一个tarfile通常是一个磁带,但它可能是任何文件 。如果数据总量超过了一个磁带,你就需要使用一个不同的磁带命令,因为tar命令不可以跨多个卷 。
1. 下例显示如果从硬盘拷贝数据到磁带
# tar cvf /dev/rmt/0 /work

参数:
c ----创建tar文件(在本例中写入到磁带)
v ----显示它所拷贝的每个文件的信息(详细模式)
f ----指定源设备名,本例中为/dev/rmt/0

2. 下例显示如何从磁带中拷贝文件到硬盘
# cd /tmp
# tar xvf /dev/rmt/0

x ----表示从tar文件中扩展文件
-------------------------------------------------------------------------
补充tar
b 指定在每一次读取和写入操作中使用的磁带块的号码
h 归档通过符号链接访问的文件
i 在档案的创建过程中忽略校验和错误
k 指定挡案大小(千字节),如果档案大于这个大小就分拆
o 将所有档案文件的用户和组所有关系修改为当前所有者

推荐阅读