|
 |
栏目导栏 |
|
| |
|
|
|
|
 |
资料搜索 |
|
| |
|
|
|
|
 |
热门文章 |
|
| |
|
|
|
|
 |
最新文章 |
|
| |
|
|
|
| |
| |
|
|
|
[ 作者: Linux联盟收集 加入时间:2006-07-18 13:16:27 来自:Linux联盟收集
] | |
|
最近一段时间以来,老是看到网友问及磁带方面的问题, JyGLinux联盟 其实,偶对此也不大熟,不过,很想对这东东做一个总结, JyGLinux联盟 口可口可,下午的时候,找时间写了一篇, JyGLinux联盟 有错误的地方,请大家指正, JyGLinux联盟 共同交流一下! JyGLinux联盟 JyGLinux联盟 JyGLinux联盟 JyGLinux联盟 磁带设备使用方法总结 JyGLinux联盟 磁带主要用来离线存储数据,通常用于备份。 JyGLinux联盟 当一个新的磁带设备连接到系统并被发现后(ok. boor –r),这个磁带设备就可以使用了。与磁盘不同,磁带设备不需要进行格式化(format),卷标识(label)等。 JyGLinux联盟 JyGLinux联盟 磁带设备的地址和逻辑设备名 JyGLinux联盟 ------------------------------------------------------------------------------------------------------- JyGLinux联盟 磁盘设备 SCSI地址(Target ID) 主逻辑设备名 附加逻辑设备名 JyGLinux联盟 ------------------------------------------------------------------------------------------------------- JyGLinux联盟 第一个磁带设备 4 /dev/rmt/0 /dev/rmt/0l JyGLinux联盟 /dev/rmt/0m JyGLinux联盟 /dev/rmt/0h JyGLinux联盟 /dev/rmt/0u JyGLinux联盟 第二个磁带设备 5 /dev/rmt/1 /dev/rmt/1l JyGLinux联盟 /dev/rmt/1m JyGLinux联盟 /dev/rmt/1h JyGLinux联盟 /dev/rmt/1u JyGLinux联盟 ------------------------------------------------------------------------------------------------------- JyGLinux联盟 (SCSI地址可以是总线上的唯一地址) JyGLinux联盟 附加的参数表示了磁带密度 JyGLinux联盟 l ---------- low JyGLinux联盟 m --------- medium JyGLinux联盟 h --------- high JyGLinux联盟 u --------- ultra JyGLinux联盟 JyGLinux联盟 增加一个磁带机的步骤 JyGLinux联盟 1. 关闭系统 JyGLinux联盟 2. 检查磁带的SCSI地址是否设置正确 JyGLinux联盟 默认的,磁带机的目标地址为4,如果你有多个磁带的话,则要设置正确设置第二个磁带机,使它的SCSI地址不要与当前的地址相冲突 JyGLinux联盟 3. 安装磁带设备 JyGLinux联盟 4. 开启系统和所有外围设备(ok. boot –r) JyGLinux联盟 JyGLinux联盟 显示一个磁带设备的状态 JyGLinux联盟 将磁带放入磁带机中,然后: JyGLinux联盟 # mt –f /dev/rmt/0 status JyGLinux联盟 如果你有多于一个磁带设备,设备则是:/dev/rmt/1, /dev/rmt/2… JyGLinux联盟 你可能会看到如下信息: JyGLinux联盟 Quantum DLT7000 tape drive: JyGLinux联盟 sense key(0x0)= nosense residual= 0 retries= 0 JyGLinux联盟 file no= 0 block no= 0 JyGLinux联盟 sense key(0x0)= nosense表示你的系统可以正常访问磁带。 JyGLinux联盟 sense key(0x6)= unit attention表示这个设备可能被重置,或是刚加电的状态 JyGLinux联盟 /dev/rmt/0: no tape loaded or drive offline 此信息表示磁带不能访问 JyGLinux联盟 JyGLinux联盟 no such file or directory 如果你出现了这条信息,你的系统与你的磁带设备无法进行通讯。查看一下,磁带机是否加电,以及连线是否正常,或再次进行:ok. boot –r JyGLinux联盟 JyGLinux联盟 磁带的重绕 JyGLinux联盟 # mt –f /dev/rmt/0 rewind JyGLinux联盟 JyGLinux联盟 JyGLinux联盟 与磁带的读写数据有关的命令 JyGLinux联盟 JyGLinux联盟 主要包括5个命令: JyGLinux联盟 cpio, dd, ufsdump, ufsrestore, tar JyGLinux联盟 JyGLinux联盟 命令:cpio JyGLinux联盟 cpio其实就是:copy in/out,从标准输入中读取要拷贝的文件,并将其写入到标准输出。这个命令是很常用的,但是要重定义标准输入和输出。当需要使用多于一个磁带时,可以使用这个命令。 JyGLinux联盟 1. 拷贝目录 /work及所有子目录到磁带 /dev/rmt/0 JyGLinux联盟 # cd /work JyGLinux联盟 # ls –R | cpio –ocB >; /dev/rmt/0 JyGLinux联盟 JyGLinux联盟 2. 将磁带中的文件拷贝回/work目录 JyGLinux联盟 # cd /work JyGLinux联盟 # cpio –icBd < /dev/rmt/0 JyGLinux联盟 JyGLinux联盟 l o ---- copy out,读取标准输入,获得文件列表,拷贝这些文件到标准输出 JyGLinux联盟 l i ---- copy in,从标准输入扩展文件 JyGLinux联盟 l c ----标识了头信息已经以ASCII方式被写入 JyGLinux联盟 l d ----创建所需的目录 JyGLinux联盟 l B ----这是必须使用的,标识着输入是以块的方式被记录 JyGLinux联盟 JyGLinux联盟 命令:dd JyGLinux联盟 这个命令可以对不同数据格式的文件进行转换并拷贝。当从你的硬盘迁移一个文件系统或分区时可以使用这个命令。你也可以使用它来进行从一个硬盘到另一个硬盘的数据拷贝。如果拷贝时,你指定了变量块的大小,那么,你在恢复时,也要指定相同的变量块。 JyGLinux联盟 1. 拷贝文件系统:/user/sunsystem到一个磁盘设备:/dev/rmt/0 JyGLinux联盟 # dd if=/dev/dsk/c0t0d0s7 of=/dev/rmt/0 bs=63k JyGLinux联盟 JyGLinux联盟 命令:ufsdump JyGLinux联盟 这个命令可以从一个硬盘拷贝一个文件系统或目录到磁带。它被设定为备份命令,支持多个卷及增量备份。注意一下,这里,所有的文件必须是同一个文件系统的一部分或在一个分区,而且你必须是superuser JyGLinux联盟 1. 将所有位于:/dev/rdsk/c0t3d0s0下的文件拷贝到一个称为:/dev/rmt/0的dump文件 JyGLinux联盟 # ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t3d0s0 JyGLinux联盟 l 0 ----表示dump的级别。级别0拷贝全部的文件系统到磁带中,有效的级别为0---9, 1---9执行的是增量备份,只会拷贝在当前时间后改变的文件。 JyGLinux联盟 l u ----表示如果成功的话,则对文件:/etc/dumpdates中的dump记录使用时间戳做一次更新 JyGLinux联盟 l f ----指定dump文件(逻辑设备名或磁带设备)。f参数后,必须要跟随一个文件名,在本例中是:/dev/rmt/0 JyGLinux联盟 l /dev/rdsk/c0t3d0s0包含你想要将文件写入磁带的源名字。 JyGLinux联盟 JyGLinux联盟 命令:ufsrestore JyGLinux联盟 这个命令从一个磁带拷贝文件系统到一个硬盘。它只能拷贝由ufsdump创建的文件。 JyGLinux联盟 它必须使用以下的三个参数中的一个: JyGLinux联盟 l i ----(交互)从介质中读取目录信息后,ufsrestore调用一个交互式接口允许你浏览dump文件的层次结构,并选择文件进行扩展 JyGLinux联盟 l r ----(递归)将介质中的全部内容恢复到当前目录(它将是文件系统中的顶级),为了完整的恢复一个文件系统,要使用这个参数来恢复级别为0的dump,并再次恢复每个增量dump。 JyGLinux联盟 l t ----(内容列表)提供磁带中的所有文件列表 JyGLinux联盟 JyGLinux联盟 以下的参数为不是必须的: JyGLinux联盟 l f ----(dump文件)指定从哪里恢复dump文件。如果dump文件没有被指定,那么,ufsrestore将使用 /dev/rmt/0 JyGLinux联盟 l v ----(详细模式)显示从磁带中读取的路径名 JyGLinux联盟 JyGLinux联盟 1. 举个例子,如下: JyGLinux联盟 # cd /work JyGLinux联盟 # ufsrestore if /dev/rmt/0 JyGLinux联盟 ufsrestore>; ? JyGLinux联盟 Available commands are: JyGLinux联盟 ls [arg] - list directory JyGLinux联盟 cd arg - change directory JyGLinux联盟 pwd - print current directory JyGLinux联盟 add [arg] - add ‘arg’ to list of files to be extracted JyGLinux联盟 delete [arg] - delete ‘arg’ from list of files to be extracted JyGLinux联盟 extract - extract requested files JyGLinux联盟 setmodes - set modes of requested directories JyGLinux联盟 quit - immediately exit program JyGLinux联盟 what - list dump header information JyGLinux联盟 verbose - toggle verbose flag (useful with ‘‘ls’’) JyGLinux联盟 help or ‘?’ - print this list JyGLinux联盟 IF no ‘arg’ is supplied, the current directory is used JyGLinux联盟 JyGLinux联盟 ufsrestore>; ls JyGLinux联盟 4lib/ dict mail openwin spool JyGLinux联盟 5bin games man/ preserve src JyGLinux联盟 adm include/ net pub tmp JyGLinux联盟 JyGLinux联盟 使用命令:add来增加要扩展的文件和目录到文件列表 JyGLinux联盟 ufsrestore>; add mail man JyGLinux联盟 JyGLinux联盟 现在,从磁带中扩展这些文件,它们将被释放到你当前的工作目录: JyGLinux联盟 ufsrestore>; extract JyGLinux联盟 JyGLinux联盟 当你所需要的文件被扩展后,就可以退出ufsrestore了 JyGLinux联盟 ufsrestore>; q JyGLinux联盟 JyGLinux联盟 命令:tar JyGLinux联盟 一个tarfile通常是一个磁带,但它可能是任何文件。如果数据总量超过了一个磁带,你就需要使用一个不同的磁带命令,因为tar命令不可以跨多个卷。 JyGLinux联盟 1. 下例显示如果从硬盘拷贝数据到磁带 JyGLinux联盟 # tar cvf /dev/rmt/0 /work JyGLinux联盟 JyGLinux联盟 参数: JyGLinux联盟 l c ----创建tar文件(在本例中写入到磁带) JyGLinux联盟 l v ----显示它所拷贝的每个文件的信息(详细模式) JyGLinux联盟 l f ----指定源设备名,本例中为/dev/rmt/0 JyGLinux联盟 JyGLinux联盟 2. 下例显示如何从磁带中拷贝文件到硬盘 JyGLinux联盟 # cd /tmp JyGLinux联盟 # tar xvf /dev/rmt/0 JyGLinux联盟 JyGLinux联盟 l x ----表示从tar文件中扩展文件JyGLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|
|
|
|
|