下面这些内容分为“认识磁带”,“磁带操作命令”和“使用指令心得”三个部分,前两个来自于网络上,最后一个是我的总结。
认识磁带:
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
这个参数