ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 备份和恢复UNIX文件系统简述

备份和恢复UNIX文件系统简述

原创 Linux操作系统 作者:fjmingyang 时间:2019-05-13 08:42:07 0 删除 编辑

一、介绍两种备份方式

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

说明: xextract vverbose ffile

恢复过程: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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1698901/viewspace-103298/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2006-04-03

  • 博文量
    66
  • 访问量
    48614