1 solaris基础和常用知识( 四 )


DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [Directories]
DUMP: Estimated 25234 blocks (12.32MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 25214 blocks (12.31MB) on 1 volume at 1599 KB/sec
DUMP: DUMP IS DONE
DUMP: Level 0 dump on Mon Sep 07 22:37:16 1998
pioneer# more /etc/dumpdates
/dev/rdsk/c0t0d0s0 0 Mon Sep 7 22:37:16 1998

备份前的准备工作

重新启动系统到单用户状态 , 或将要备份的文件系统卸载下来 。
通知所有用户该文件系统不可用 。
#wall
/export/home will be unavailable in two minutes, please log out
Press ctrl-D
对文件系统进行检查(fsck) 。

ufsdump

如前例所示 。
如果使用渐进的备份方法 , 最后实现建立备份计划 , 例如:

Sun Mon Tue Wed Thu Fri
Week1: Full 5 5 5 5 3
Week2: 5 5 5 5 3
Week3: 5 5 5 5 3
Week4: 5 5 5 5 3

上例中 , 每个月作一次完全备份 , 每个周末对每一周的改动作一次备份 , 每天的备份
只对当天的改动作备份 。这样作的目的是节省备份所用的空间 。

ufsrestore

ufsrestore用于恢复使用ufsdump命令备份的文件系统 。命令格式为:
/usr/lib/fs/ufs/ufsrestore options [arguments] [filename ...]
options包括:
t:备份列表;
x:只恢复命令行中指定的文件;
r:恢复整个备份;
f:指定备份文件所在的设备或目录;
v:verbose mode , 列出备份文件的路径 。
例如:
对备份文件进行列表:
pioneer# ufsrestore tvf ddd
Verify volume and initialize maps
Media block size is 126
Extract directories from tape
Initialize symbol table.
Dump date: Mon Sep 07 22:37:16 1998
Dumped from: the epoch
Level 0 dump of / on pioneer:/dev/dsk/c0t0d0s0
Label: none
dir 2 .
dir 3 ./lost found
dir 5696 ./usr
dir 11392 ./var
dir 5697 ./export
dir 11393 ./export/home
dir 5698 ./opt
leaf 4 ./bin
dir 11394 ./dev
dir 5699 ./dev/sad
leaf 5879 ./dev/sad/admin
leaf 5825 ./dev/sad/user
leaf 11592 ./dev/be
leaf 11496 ./dev/conslog
...
从备份中恢复指定文件:
pioneer# cd /tmp
pioneer# ufsrestore xvf ddd ./etc/passwd
Verify volume and initialize maps
Media block size is 126
Dump date: Mon Sep 07 22:37:16 1998
Dumped from: the epoch
Level 0 dump of / on pioneer:/dev/dsk/c0t0d0s0
Label: none
Extract directories from tape
Initialize symbol table.
Make node ./etc
Extract requested files
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume #: 1
extract file ./etc/passwd
Add links
Set directory mode, owner, and times.
set owner/mode for "."? [yn] n
执行该操作需要指定所要恢复的文件在备份文件中的位置 。由于备份文件从卷1开始 ,
所以可以指定从卷1开始搜索 。恢复整个文件系统下例将一个老的文件系统(/opt)移
到一个新的磁盘分区(/dev/rdsk/c0t3d0s5)中 。首先 , 卸载老的文件系统并实施备
份:
#umount /opt
#fsck /opt
#ufsdump 0uf /dev/rmt/0 /opt
其次 , 生成新的文件系统 , 将其安装到一个临时目录(/mnt) , 并实施恢复:
#newfs /dev/rdsk/c0t3d0s5
#fsck /dev/rdsk/c0t3d0s5
#mount /dev/dsk/c0t3d0s5 /mnt
#cd /mnt
#ufsrestore rvf /dev/rmt/0
#rm restoresymtable
最后 , 卸载新的文件系统 , 用fsck检查其一致性 。
#cd /
umount /mnt
#fsck /dev/rdsk/c0t3d0s5

选择性备份 , 备份指定的文件和目录;

tar

系统备份:tar -cvf 目标文件名/设备名 备份文件 , 例如:
tar -cvf backup.tar *
命令将当前目录下的所有文件(包括各级子目录)都打包在backup.tar文件中 。

推荐阅读