一、介绍两种备份方式
1、 init s 进入单用户模式,用ufsdump来备份,举例:
root@TEST01 # df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c1t0d0s0 20174761 672566 19300448 4% /
/dev/dsk/c1t0d0s4 5046030 1530161 3465409 31% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c1t0d0s1 10086988 153326 9832793 2% /var
swap 11384008 24 11383984 1% /var/run
swap 11385168 1184 11383984 1% /tmp
/dev/dsk/c1t0d0s5 26584007 104447 26213720 1% /export/home
这里我们只需要备份红色字体的四个ufs,
ufsdump 0cuf /dev/rmt/0 /dev/dsk/c1t0d0s0
其中0:0级备份,即完全备份;c:cartridge ; u:更新/etc/dumpdates文件; f:指定dump file文件名,例中使用磁带备份,你也可以指定远程磁带machine:device(这个要事先配置好rsh无密码登陆,请见我的另一篇文章),你还可以指定本地磁盘文件/usr/backup/root.dmp, 或是指定“—”,表示dump到标准输出,多与管道命令结合使用,如:
ufsdump 0f - /dev/rdsk/c1t0d0s0 | (cd usr/backup/a;ufsrestore xvf -)
注意:如果直接使用磁带备份,以笔者的HP DAT-72为例,你不能用 tar tvf /dev/rmt/0查看内容,提示“tar:tape read error”,你只能使用ufsrestore if /dev/rmt/0 进入交互式模式后用ls查看内容。一盘磁带备份多个文件系统的话,可通过tar -f /dev/rmt/0 fsf n 滚动磁带到分区备份位置,再恢复!
另外要注意的是:备份/usr文件系统时,先要执行 /etc/init.d/xntpd stop,否则会出错,如下:
snapshot error: File system could not be write locked
2、 第一种方案缺点的在于需要进入单用户模式,而fssnap命令则可以在多用户模式,对文件系统进行快照,以达到备份的目的。备份过程如下:a)用fssnap命令创建一个虚拟设备和一个后备存储文件,b)使用ufsdump命令对虚拟设备进行备份。简单来讲,多用户模式下的备份比单用户模式下的备份多了一步快照!举例如下:备份/usr文件系统
a) 创建快照
#fssnap –F ufs –o bs=/backup/usr.snap /usr
/dev/fssnap/0 --系统自动创建的虚拟设备
#fssnap –i /usr --命令来验证快照是否创建成功
#fssnap –d /usr && rm /backup/usr.snap --删除快照
b) 对虚拟设备进行备份
#ufsdump 0cuf /dev/rmt/0 /dev/fssnap/0
实际上上面两个步骤可以用一条命令实现
#ufsdump 0cuf /dev/rmt/0 `fssnap –F ufs –o bs=/backup/usr.snap /usr`
--------------------备份完毕---------------
备注:虚拟设备其实和物理设备一样,也可用mout来挂载
#mkdir /backup/usr2
#mount –F ufs –o ro /dev/fssnap/0 /backup/usr2
二、ufs文件系统的恢复
上述两种备份方式的恢复方法是一样的,都采用ufsrestore命令恢复到当前目录下
#mkdir /a
#cd /a
#ufsrestore xvf /dev/rmt/0
说明: x:extract v:verbose f:file
恢复过程:Specify next volume 输入卷号,一般为1,如果你的文件系统备份到多盘磁带,从1开始指定,set owner/mode for ‘.’[yn] 输入“n”
#用mv将文件移动到合适的目录中
另外你还可以使用 ufsrestore if /dev/rmt/0 使用交互模式,只挑选你需要的文件进行恢复,不再赘述。
最后转贴一篇硬盘对硬盘拷贝文章供大家参考:
假设0号磁盘(c1t0d0) 的分区做了0,1,3,4,5, 6,7.可以用如下的命令来完成1号磁盘(c1t1d0)的备份和恢复过程:
1.把0号盘的VTOC拷贝到1号盘.
prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2
2.对1号盘做文件系统.
for i in 0 1 3 4 5 6 7
do
newfs /dev/rdsk/c1t1d0s${i}
done
3.把1号盘的slice 0 ,mount到一个目录下(例如/a)
mount /dev/dsk/c1t1d0s0 /a
4.做文件系统的备份和恢复
ufsdump 0f - /dev/rdsk/c1t0d0s0 | (cd /a;ufsrestore xvf -)对剩余的slice3,4,5,6,7分别做备份和恢复
5.把boot block写到1号盘。使1号盘可以正常引导。如果是光纤盘,可能还在更新/etc/path_to_inst
installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t1d0s0




最新回复