Solaris 操作磁帶機

 

下面这些内容分为“认识磁带”,“磁带操作命令”和“使用指令心得”三个部分,前两个来自于网络上,最后一个是我的总结。
认识磁带:
Solaris 里面表示磁带 /dev/rmt/0XX /dev/rmt/1XX XX 的中的 n 表示不回卷磁带, l,m,h,u 分别是 low,medium,high,ultra 是磁带密度。安装磁带很简单就是在 OK 模式下面 probe-scsi-all 查看磁带机是否正常认出,如果是在 OS devfsadm cfgadm 等等指令配合如果在 /dev/rmt/ 下面已经有 0XX,1XX 等,就说明磁带已经找到了。
磁带操作命令:
1. 重新拉紧磁带
mt -f /dev/rmt/0 retension
2. 回绕磁带
mt -f /dev/rmt/0 rewind
3. 显示磁带驱动器状态
mt -f /dev/rmt/0 status
4. 脱机
mt –f /dev/rmt/0 offline
5. 后退 / 前进一格
mt –f /dev/rmt/0 fsf/bsf 1/2 <= 注意此处
6. 绝对前进 mt –f /dev/rmt/0 asf 1
7. 到底 mt –f /dev/rmt/0 eom
8. 擦除 mt –f /dev/rmt/0 erase 这个指令比较慢,对磁带损害比较大,不推荐。
tar 命令:
使用 tar 命令复制文件或者目录树到单个磁带。优点 : UNIX 系统中都可用。缺点:不知道文件系统的边界 , 全路径名长不能超过 255 个字符,
不能复制空目录或者设备文件这样的特殊文件,不能用来创建多个磁带卷。
 
1. 复制文件到磁带
1) 切换到包含有需要复制文件的目录
2) 在磁带驱动器中插入可以写入的磁带
3) 输入 tar cvf /dev/rmt/0 filenme filename ...
其中 , c ( 复制 ) 选项复制指定的文件 ,v( 详细 ) 选项显示复制文件的信息 ,f( 文件 ) 选项后面跟随的是 tar 文件写入的磁带设备名。指定的文件名
复制到磁带,覆盖磁带上任何已存在的文件。
: 使用 c 选项复制文件到磁带将破坏磁带上已有的任何文件。如果要保留这些文件,用 r 选项。可以使用通配符 (? *)
4) 从驱动器中取出磁带,将文件名写在磁带的标签上。
 
2. 列出磁带上的文件
1) 插入磁带到磁带驱动器。
2) 输入 tar tvf /dev/rmt/0
其中 , t( 列表 ) 选项列出指定的文件 ,vv( 详细 ) 选项显示文件的全部信息 ,f( 文件 ) 选项后面跟随的是 tar 文件写入的磁带设备名。
 
3. 添加文件到磁带
1) 切换到包含有需要复制文件的目录。
2) 在磁带驱动器中插入可以写入的磁带
3) 输入 tar rvf /dev/rmt/0 filename filename...
指定的文件添加到磁带上已有文件的后面。
4) 从驱动器中取出磁带,将文件名写在磁带的标签上。
: 如果使用 n( 不回绕 ) 选项做为磁带设备名的一部分,可以自制多个 tar 文件集到磁带。输入 tar cvf /dev/rmt/0n filenae , 当该文件自制
完毕时磁带不回绕,下一次使用磁带时,文件在当前文件集的结尾写入。
 
4. 从磁带获取文件集的结尾写入
1) 切换到包含有需要复制文件的目录。
2) 在磁带驱动器中插入磁带。
3) 输入 tar xvf /dev/rmt/0
指定驱动器中磁带上的所有文件复制到当前目录中。
从磁带中获取单个文件,输入 tar xvf /dev/rmt/n filename filename ...
从磁带中展开指定的文件名,放入当前工作目录。
 
5. 从磁带上递归读取目录和子目录
1) 更换目录到要自制文件的父目录
tar xvf /dev/rmt/0 filename
将恢复 filename 到当前目录。
2) 输入 tar xvf /dev/rmt/0 directory-name , 从磁带中递归复制该目录和它的所有子目录。
 
cpio 命令
cpio 命令复制文件 , 特殊文件和需要多个磁带的文件系统,提供从 SunOS5.x 复制文件到 SunOS4.x 系统的兼容性。优点:比 tar 命令能更有效地打
包数据到磁带;恢复文件时能跳过磁带上的坏区;提供以下不同的头格式 (tar ustar crc odr bar) 写入文件的选项,方便在不同系统类型之
间的移植;以及创建多个磁带卷。
使用 cpio 命令创建存档时,该命令从标准输入获得文件和路径名列表并写到标准输出。输出通常重定向为文件或者设备。
 
1. 复制目录中的所有文件到磁带
1) 在磁带驱动器中插入写保护打开的磁带
2) 输入 ls|cpio -oc > /dev/rmt/0
其中, o 选项复制文件; c 选项以 ASCII 的形式写头信息。该命令覆盖磁带上的所有文件,并显示的块的总数。
3) 从驱动器中取出磁带,将文件名写在磁带的标签上。
 
2. 列出磁带上的文件
1) 插入磁带到磁带驱动器中。
2) 输入 cpio -civt < /dev/rmt/0
其中, i 选项读磁带内容; v 选项显示输出; t 选项列出指定驱动器中磁带上的文件内容。
 
3. 从磁带获取所有文件
如果存档使用相对名,则输出文件在当前目录中以目录创建。如果存档使用绝对路径名创建,则重新创建文件时使用该全路径名。
DANGER :使用绝对路径名是危险的,因为可能覆盖初始文件。
1) 切换到需要放置文件的目录。
2) 在磁带驱动器中插入磁带
3) 输入 cpio -icv < /dev/rmt/0
 
4. 从磁带获取文件子集
1) 切换到需要放置文件的目录
2) 在磁带驱动器中插入磁带
3) 输入 cpio -icv "*file" < /dev/rmt/0
与该模式匹配的所有文件自制到当前目录。可以多种模式,但是每一种模式都必须用双引号包含。
 
pax 命令
用来复制文件、特殊文件或者需要多卷磁带的文件系统,当在该系统和 POSIX 之间复制文件时也可用该命令。
缺点:不知道系统边界、全路径名不能超过 255 个字符。
1. 复制目录中的所有文件到磁带
1) 切换到包含有需要复制文件的目录
2) 在磁带驱动器中插入写保护打开的磁带。
3) 输入 pax -w -f /dev/rmt/0
-w 选项将当前目录内容写入磁带, -f 选项标识磁带驱动器。
4) 输入 pax -l -f /dev/rmt/0
-l 选项列出磁带上的文件,验证文件已复制。
5) 从驱动器中取出磁带,将文件名写在磁带的标签上。
 
注:当使用 pax 命令复制文件到单卷磁带时,还可以使用 tar 命令显示文件列表和从磁带获取文件。
 
2. 获取磁带上的所有文件
1) 切换到需要放置文件的目录。
2) 在磁带驱动器中插入磁带。
3) 输入 pax -r -f < /dev/rmt/0
-r 选项读取磁带内容写入当前目录, -f 选项标识磁带驱动器。
4) 输入 ls -l 。列出当前目录中的文件,并显示其权限以验证文件复制。
 
ufsdump 恢复操作系统的过程:
 
ufsdump 恢复操作系统的过程:
To restore the / (root) file system, boot from the Solaris CD-ROM and   then run ufsrestore.
Note If / (root), /usr, or the /var file system is unusable because   of some type of corruption or damage, the system will not boot.
The following procedure demonstrates how to restore the / (root) file   system on the boot disk c0t0d0s0.
1. Insert the Solaris 8 Software CD 1 of 2, and boot the CD-ROM with   the single-user mode option.
ok boot cdrom -s
2. Create the new file system structure.
# newfs /dev/rdsk/c0t0d0s0
3. Mount the file system to an empty mount point directory, /a and   change to that directory.
# mount /dev/dsk/c0t0d0s0 /a
# cd /a
4. Restore the / (root) file system from its backup tape.
# ufsrestore rf /dev/rmt/0
Note Remember to always restore a file system starting with the   level 0 backup tape and continuing with the next lowest level tape up   through the highest level tape.
5. Remove the restoresymtable file.
# rm restoresymtable
6. Install the bootblk in sectors 1 15 of the boot disk. Change to the   directory containing the bootblk, and run the installboot   command.
# cd /usr/platform/`uname -m`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0
7. Unmount the new file system.
# cd / ; umount /a
8. Use the fsck command to check the restored file system.
# fsck /dev/rdsk/c0t0d0s0
9. Reboot the system.
# init 6
10. Perform a full backup of the file system. For example:
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0
Note Always back up the newly created file system, as ufsrestore   repositions the files and changes the inode allocation. Restoring the /usr and /var File Systems   To restore the /usr and /var file systems repeat the steps described   above, except step 6. This step is required only when restoring the (/)   root file system.
Restoring Regular File Systems
To restore a regular file system, (for example, /export/home, or   /opt) back to disk, repeat the steps described above, except steps 1, 6, and 9. Example
# newfs /dev/rdsk/c#t#d#s#
# mount /dev/dsk/c#t#d#s# /mnt
# cd /mnt
# ufsrestore rf /dev/rmt/#
# rm restoresymtable
# cd /
# umount /mnt
# fsck /dev/rdsk/c#t#d#s#
# ufsdump 0uf /dev/rmt/# /dev/rdsk/c#t#d#s#
ufsdump
 
ufsdump
1. 指定磁带特性 7 Y- W5 x8 v5 e* {9 _# L" n 当不指定任何磁带特性时, ufsdump 命令使用默认值集合。可以指定磁带盒 (-c) 、密度 (-d) 、大小 (-s) 和磁道数 (-t) 。注意可以以任意顺序指 ( A7 C, s+ m4 N: l9 v( `. c% p3 k 定选项,只要对应的参数顺序一致即可。 " z/ D% o, W2 ?$ K$ n; v; N( y) V" L: a5 Q / f7 z$ w6 g7 ]- `, z2. 使用 OIC-150 备份文件系统 . P* X* L( T2 }' d 要执行文件系统的完全备份,所在用户必须退出登录,且系统必须进入单用户模式。 / A8 w8 h- Y, I2 z3 H# I 在磁带设备名前添加 remote-host :,可以从远程驱动器备份或者恢复文件。 4 t3 T7 S8 {( f0 E. {5 u remote-host:/dev/rmt/unit - t1 s/ A; |& Y" R, M# m3 p1 u: ^ 例如:远程磁带设备名为 /dev/rmt/0 ,则在系统 oak 上为 oak:/dev/rmt/0 ) ^1 S5 t) h* g& I 例: ( [* T: i- B" [+ F* a! S+ w 以下步骤完成文件系统的 0 级备份: . u; p- j0 I$ M; L2 X 1) 输入 init s ,进入单用户模式。 ( {2 K" ^4 P1 J+ [: S( Y2) 插入磁带。 ' j, j, P* x  ?' Y3 |- Y; ]3) 输入 ufsdump 0cuf /dev/rmt/unit /dev/rdsk/cntndns0 , p1 P( R+ B0 Q8 V1 C8 e 其中, 0 表示 0 ( 完全 ) 备份, c 表示盒式磁带, u 表示更新备份记录, f 和后面的设备名指定设备文件。输入要备份的文件系统所在的原盘片。 8 x' d& K" L1 B6 ^ 4) 如果备份需要多个磁带, ufsdump 命令通知何时更换磁带。 ; F' R3 ^4 m; r+ d, k- B" ^2 l5) 在磁带上制作写有命令、文件系统和日期的标签。 , e$ E6 x8 }, m' j  A& m $ n4 c. z: u1 U5 R 增量备份 8 u- W! H4 B' F* A1) 系统进入单用户模式。 . m) N8 x  U2 E& M 2) 成为超级用户。 9 ^. _2 Y+ R; F2 /$ G: h, M/ f4 r3) 在磁带驱动器中插入磁带。 : n- c- Q4 j* b9 w  Q2 o4) 输入 ufsdump [1-9]ucf/dev/rmt/unit /dev/rdsk/cntndnsn ( h+ c- K% a& W+ o! y+ H0 r. C, _ 5) 从磁带驱动器中取出磁带并作标签。 1 [4 `) x/ c$ R( ^ 2 J; B& w+ G  i8 g. d& F8 M, l+ X. x  K7 T0 E. A 恢复备份的文件系统 " o; T* {7 u: L; B3 L, e- w* Oufsrestore 命令从使用 ufsdump 命令创建的备份中复制文件到当前目录。可以使用 ufsrestore 命令从 0 级备份和以后的增量全国人民代表大会 4 @7 Q$ W  E: T. b. R0 y: [ 中恢复整个文件系统层次,或者从任何备份磁带中恢复单个或者多个文件。恢复的文件具有初始的所有者、最后修改的时间以及模式。 ' V) R  y: n" R. I& o3 |' f" R6 c 1. 确定使用哪个磁带 & Q# P0 w# p! M& }; d" m 1) 询问用户文件或者文件系统丢失的日期或者该文件恢复的最佳日期。 , ?/ r" M* y! L$ }* |4 q; W, H 2) 参照备份计划查找包含该文件或者文件系统的上次备份的日期。要获得文件的最近版本,从最高级到最低级,从最近到较近日期反向操作 9 M5 U1 a0 /" I8 s: ]! V. H  F1 d 增量备份。   I) Z9 ~& o# a+ h% d' d# A3) 如果有一个使用 ufsdump -a 选项创建的在线存档文件,输入 ufsrestore ta archive-name /path/filenames 。确认使用了 file-name : U" K; f) k- Q  G/ p2 W 全路径。显示文件和它们存储的介质的列表。 / z$ D% e) r% n4) 获得包含备份的介质。 0 Z9 h, j$ M! C! b2 R, U7 {5) 输入 ufsrestore tf device-name /path/filename 确认使用 filename 的全路径。 8 p7 v6 u. {/ ]: _8 U 6) 如果在一个磁带上有多个备份文件,可以使用 -s n 选项定位要使用的磁带的备份。例: ufsrestore xfs /dev/rmt/0 5 : w3 Y( P2 R2 R 例: : M6 x( G) W. @, I, R* q" ?: / #init s 9 }3 b) A6 Z( C+ p& j7 F9 k# E#umount /mount-point % O4 |. g% q3 Z( |- /9 {#newfs /dev/rdsk/c0t0d0s7 <- 一个要恢复的位置 ) A: v( k! ^3 E# Q  Y#mount /dev/dsk/c0t0d0s7 /mount-point 2 I6 G4 ^- `! @ #cd /mount-point % @( a. [+ F2 C% _. ]#ufsrestore rvf /dev/rmt/0   |( A9 A, D3 Y2 Z7 ]$ _8 A8 p; U  Y, _7 Y$ Y 3. 文件交互式恢复 3 x5 i. h/ k& v, E: g, M5 Y- c 要恢复单个的文件或目录,较好的方法是将它们恢复到临时目录,经验证以后再复制到正确的位置。 + i; U; /0 o% S8 m1) 成为超级用户 : V% A; h4 Y+ j, |2 U 2) 为安全起见设置磁带的写保护   ]( /" Y0 X+ g# a3 f# w3) 将备份磁带插入磁带驱动器 ; H) X' C% U% @ 4) 输入 cd /var/tmp ) a. /8 s0 G' L6 `3 f, L5) 输入 ufsrestore if /dev/rmt/unit 显示信息并出现 resotre> 提示符。 " i/ z& K' G  p  f6) 创建要恢复的文件列表 & ^* |* k) L! O 列出目录内容 : ls 3 P4 x0 b. f* x& P5 x" |# [ 更换目录 : cd directory-name 3 ]6 U5 H$ Y& s4 _, E% u 要添加目录或者文件名到要恢复的文件列表中: add file-name   Y# m& `# H4 o6 s% ]0 ` 要保持当前目录的模式不变 : setmodes n . H+ K5 _9 M1 G' r! C" K  a! u( G/ ^ 7) 列表完成后,输入 extract & Y. u% m; v- n$ O8 r, E3 l, Q8) 输入卷号并按回车键。 * W. @0 c$ i, }# o% m6 b: {( O# }' A 9) 输入 quit 返回 ) q6 N& X. U+ P) m 10) 使用 ls -l 命令列出恢复的文件和目录。 9 f( h2 ^, u. /: n11) 检查列表。 ' O5 [6 I& B: o- A9 z, b# x12) 使用 mv 命令将文件移到适合的目录中 . r2 V* C9 {4 [3 a& m) r9 A1 C) O 8 /+ a5 z: y+ A  [7 p" R7 H# _5 O6 ?3 ^5 M  o4 a 4. 从备份磁带中恢复单个文件 % p) K3 p4 A: G4 ~1) 成为超级用户 % @7 D7 Y3 c: H4 g% t2) 在磁带驱动器中插入备份磁带 + Z7 /% ~% S% x& ?$ }8 /# i, O3) 输入 cd /var/tmp . B0 K6 t+ a: b( J3 X4 a" V5 c4) 输入 ufsrestore xf /dev/rmt/unit file-name 回车。 x 选项通知 ufsrestore 命令复制 file-name 参数指定的文件或目录。显示 "set owner/ * @2 u/ g1 V8 E  O8 @ mode for'.'?[yn]" 信息。 % J7 y+ R& [* d- ^) w: p5) 输入 n ,保持当前目录的模式不变 2 H6 _2 x; m5 U6 O3 Q6 T 6) 输入文件所在的卷号,如果只有一卷,输入 1 7 ^& H/ H6 ?! b7 w7) 输入 ls -l file-name ,显示为文件和目录。 + H. J9 r1 n3 C' |. [2 [3 {& @8) 使用 mv 命令将文件移到适合的目录中
指令使用心得:
1.        远程使用磁带机
先配置rhost,然后就可以使用指令操作磁带机,$TAPEIP指定远程磁带机,如:
rsh $TAPESIP mt -f /dev/rmt/0 eom
tar cf - ./* |rsh $TAPESIP dd of=/dev/rmt/0
rsh $TAPESIP tar tvf /dev/rmt/0 /etc
rsh $TAPESIP dd if=/dev/rmt/0  | tar xf–
2.        加快磁带备份 / 恢复速度,不要用 v 这个参数
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值