从用户的角度来看,unix的任何设备都可以看做是文件。因此,可以“打开”合适的磁带驱动器文件来进行写入操作,将要备份的数据写入到文件中去。虽然这听上去过于简单了,但是实际情况就是这样。Unix系统把每一个设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。 从用户的角度来看,对设备的使用和一般文件的使用一样。所以管理磁带的最有效的方法是使用相关命令。
日常应用:
1、磁带备份命令:
make_tape_recovery -Av 默认备份至/dev/rmt/0mn。
如果有多个磁带机,那么需要使用下面命令
make_tape_recovery -Av -a /dev/rmt/1mn
2、讀取系統開機磁帶的內容
系統開機磁帶,除了第一段檔案資料,是儲存有關開機的資料外,其他的檔案,它是以tar的格式備份到磁帶裏。因此只要你把第一段檔案跳過,就可使用tar指令,來存取其他部分的內容了。
方法如下:
#mt -t /dev/rmt/0mn fsf 1
#tar -xvf /dev/rmt/0m [filename]
附註:使用mt指令來跳過第一個檔案時,必須用/dev/rmt/0mn (No rewind on close) 這個tape的device file,不然等mt指令作完後,磁帶又會自動回轉到最開頭的位置。
3、放入磁带,通过“tar”命令测试磁带机是否可用
# tar -cvf /dev/rmt/0m myfile
4、查看磁带里的内容
tar cvf/dev/rmt/2m /tmp 写文件进去
tar -tvf/dev/rmt/2m 查看磁带里的内容
命令解释:
1. mt命令
mt命令用来控制磁带机。可以使用 mt 命令的 status 选项来获取有关磁带机的状态信息。mt 命令可报告配置文件 /kernel/drv/st.conf 中介绍的所有磁带机的信息。
mt命令格式:mt [ -f device ] command [ count] ,
l 显示磁带状态
# mt -f /dev/rmt/n status
然后可以替换磁带机编号 0、1、2、3 等,以显示有关所有可用磁带机的信息。
应用实例:
显示 QIC-150 磁带机 (/dev/rmt/0) 的状态:
$ mt -f /dev/rmt/0 status
Archive QIC-150 tape drive:
sense key(0x0)= No Additional Sense residual= 0 retries=0
file no= 0 block no= 0
样例说明:
[root@pms_db1] /> mt -f /dev/rmt/36mn status ---状态为,未放磁带
Drive: HP C7438A
Format:
Status: Tape media is not present
File: 0
Block: 0
[root@pms_db1] /tmp> mt -f /dev/rmt/36mn status ----状态为正常
Drive: HP C7438A
Format:
Status: [41114700] BOT online compressionimmediate-report-mode
File: 0
Block: 0
[root@pms_db2] /tmp> mt -f /dev/rmt/0mn status ----能备份,但到一半就报错
Drive: HP C7438A
Format:
Status: [81114700] EOF online compressionimmediate-report-mode ----磁带到了最后或者中间,需要反转
File: 23
Block: -1
找了一些资料:
>what is the meaning of "Block: -1"? Does it indicate anyerror?
mt(7) says these fields are no longer used and set to -1:structure forMTIOCGET - mag tape get status command struct mtget {
BOT,代表磁带在开始处
EOF(END Of file)
l 重新拉张磁带
如果读取磁带时出现错误,则可以重新张紧磁带、清洁磁带机,然后重试。请勿重新张紧非 QIC 磁带机。
$ mt -f /dev/rmt/3 retension
l 要反绕盒式磁带,请使用 mt 命令。
$ mt -f /dev/rmt/1 rewind
2.tar命令
tar命令是用来建立,还原备份文件的工具程序,Solaris 系统对tar 进行了增强,使之更胜任系统级别的备份。它允许所有或部分要备份的文件和目录列表保存在一个或多个文本文件中。UNIX环境下根文件系统的/dev目录包含了所有和物理设备关联的文件。当对这些文件进行操作时,实际上是在操作下层的物理设备。如果DAT或DLT的磁带机已经连接好并加电,一般下情况下能够自动检测到磁带机并在自检时会提示是否要配置发现的磁带机,选择配置即可。如果用户在起系统时没有发现磁带机,可能是磁带机的驱动已经安装到系统中了。
tar命令格式:
tar{c|r|t|u|x}[BDeEFhilmnopPqvw@[0-7]][bfk][X...][块大小] [磁带存档文件] [大小] [排除文件...] {文件 | -I 包含文件 | -C 目录文件}...下面介绍常用选项:
l 将文件复制到磁带
1. 进入包含要复制的文件的目录。
2. 将可写磁带插入磁带机中。
3. 将文件复制到磁带。命令如下:
$ tar cvf /dev/rmt/n filenames
参数说明:c 指明要创建归档文件;v 归档时显示每个文件的名称;
f /dev/rmt/n 指明应该将归档文件写入指定设备或文件。
filenames 指明要复制的文件和目录。使用空格分隔多个文件。
系统会将指定的文件名复制到磁带,并且会覆写该磁带上的任何现有文件。然后从磁带机中取出磁带。在磁带标签中写入文件名称。
应用实例:把/export/home/目录下两个文件文件复制到磁带
$ cd /export/home/
$ ls reports
reportA reportB
$ tar cvf /dev/rmt/0 reports
a reports/ 0 tape blocks
a reports/reportA 59 tape blocks
a reports/reportB 61 tape blocks
$ tar tvf /dev/rmt/0
l从磁带中恢复文件
转到要放置文件的目录。
将磁带插入磁带机。
从磁带中恢复文件。 使用命令:
$ tar xvf /dev/rmt/n [filenames]
参数说明:x 指明应从指定的归档文件中提取文件。指定磁带机中的磁带上的所有文件都会被复制到当前目录。v 恢复时显示每个文件的名称。f /dev/rmt/n 指明包含归档文件的磁带设备。filenames 指定要恢复的文件。使用空格分隔多个文件。