《Linux指令从初学到精通》第3章文件管理,本章介绍了许多常用命令,如cp、ln、chmod、chown、diff、tar、mv等,因为这些都与文件管理相关,在日常的使用中经常用到,因此本章是本书的重点章节。本节为大家介绍dump(文件系统备份)。
AD:
3.19 dump(文件系统备份)
(1)频度等级:☆
(2)功能说明:
dump 为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
(3)语法:
- dump[-cnu][-0123456789][-b <区块大小>][-B
<区块数目>][-d <密度>][-f <设备名称>][-h <层
- 级>][-s <磁带长度>][-T <日期>][目录或文件系统]
- dump [-wW]
(4)所属包:
- dump # yum -y install dump
(5)使用技巧:
指定生成的备份文件名或目标设备文件,可使用参数“-f”。
第一次备份文件时,备份层级为0,以后使用增量备份,以缩短备份时间并节省空间。
(6)相关命令:
- restore //恢复
(7)参数:
dump主要参数如表3-21 所示。
表3-21 dump参数表
(8)典型实例:
例1:使用dump命令备份指定目录。
例如使用“-f”参数备份指定的“/etc”目录,使用如下命令:
- dump-f etc.bak /etc/ #备份/etc/目录下所有文件
将输出以下信息:
-
- cmd@cmd-desktop:~$ dump -f etc.bak /etc/#备份/etc/目录下所有文件
- DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009 #备份输出信息
- DUMP: Label: none
- DUMP: Writing 10 Kilobyte records
- DUMP: mapping (Pass I) [regular files]
- DUMP: mapping (Pass II) [directories]
- DUMP: estimated 14472 blocks.
- DUMP: Volume 1 started with block 1 at: Sun Sep 20 14:47:36 2009
- DUMP: dumping (Pass III) [directories]
- DUMP: dumping (Pass IV) [regular files]
- DUMP: Closing etc.bak
- DUMP: Volume 1 completed at: Sun Sep 20 14:47:38 2009
- DUMP: Volume 1 14870 blocks (14.52MB)
- DUMP: Volume 1 took 0:00:02
- DUMP: Volume 1 transfer rate: 7435 kB/s
- DUMP: 14870 blocks (14.52MB) on 1 volume(s)
- DUMP: finished in 2 seconds, throughput 7435 kBytes/sec
- DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009
- DUMP: Date this dump completed: Sun Sep 20 14:47:38 2009
- DUMP: Average transfer rate: 7435 kB/s
- DUMP: DUMP IS DONE
eg:
[root@localhost ~]# du -sh /etc
37M /etc
- [root@localhost ~]# ll -h etc.bak
-rw-r--r--. 1 root root 44M Jul 1 05:22 etc.bak
使用file命令查看文件信息,可得到如下结果:
- cmd@cmd-desktop:~$ file etc.bak #查看备份文件信息
- etc.bak: new-fs dump file (little endian), This
dump Sun Sep 20 14:47:35 2009, Previous
- dump Thu Jan 1 08:00:00 1970, Volume 1, Level
zero, type: tape header, Label none, Filesystem
- / (dir etc), Device /dev/sda1, Host hdd-desktop,
Flags 3 #备份文件的详细信息
例2:使用dump 命令备份整个根文件系统。使用该命令可以将整个根文件系统备份到指定的外设,使用的命令如下:
- dump -0f /dev/nst0 / #将整个根文件系统备份到SCSI 设备/dev/nst0
该命令将整个根文件系统备份到外设“/dev/nst0”上。
-------------------------------------------------------------------------------------------------------------------------------------------
完整备份工具:dump,restore
dump:除了可以备份整个文件系统外,还可以制定等级。
dump支持整个文件系统或者单一目录,但对于目录的支持比较不足。
当待备份的数据为单一文件系统时:可以使用完整的dump功能,包括利用0~9的数个level来备份等。
当待备份的数据只是目录,并非单一文件系统时:
所有的备份数据都必须要在该目录下面;
且仅能使用level 0,即仅支持完整备份而已;
不支持-u 参数,即无法创建/etc/dumpdates这个level备份的时间记录文件。
#dump [-Suvj] [-level] [-f 备份文件] 待备份数据
#dump -W
-S:仅列出后面的待备份的数据需要多少磁盘空间才能够备份完毕
-u:将这次dump的时间记录到 /etc/dumpdates文件中
-v:将dump的文件过程显示出来
-j:加入bzip2的支持,将数据进行压缩,默认bzip2压缩等级为2
-level:压缩等级,-0~-9十个等级
-f:有点类似tar,后面接产生的文件,可接例如 /dev/st0设备文件名等
-W:列出在/etc/fstab里面的具有dump设置的分区是否有备份过
例如:
#df -h
#dump -S /dev/sda1
#dump -0u -f /root/boot.dump /boot
#ll /root/boot.dump /etc/dumpdates
#cat /etc/dumpdates
查看一下有没有被 dump 过的文件系统
#dump -W
用dump备份非文件系统,即单一目录的方法
-u,level 1~9都不适用
将 /etc 整个目录通过dump进行备份,且含压缩功能
#dump -0j -f /root/etc.dump.bz2 /etc
restore:恢复dump备份
#restore -t [-f dumpfile] [-h]
==>用来查看dump文件
#restore -C [-f dumpfile] [-D 挂载点]
==>比较dump与实际文件
#restore -i [-f dumpfile]
==>进入互动模式
#restore -r [-f dumpfile]
==>还原整个文件系统
相关的各种模式,各种模式无法混用,例如不可写 -tC。
-t:此模式用在查看dump起来的备份文件中含有什么重要数据。类似tar -t 功能。
-C:此模式可以将dump内的数据拿出来跟实际的文件系统作比较,最终会列出“在dump文件内有记录的, 且目前文件系统不一样”的文件。
-i:进入互动模式,可以仅还原一部分文件,用在dump目录时的还原。
-r:将整个文件系统还原的一种模式,用在还原针对文件的dump备份。
-h:查看完整备份数据中的inode与文件系统label 等信息。
-f:后面就接你要处理的那个dump文件。
-D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的文件。
例子:
1.用restore查看dump后的备份数据内容
将boot.dump的文件内容显示出来看看
#restore -t -f /root/boot.dump
2.比较差异并且还原整个文件系统
dump可以查询文件系统与备份文件之间的差异,并且将分析到的差异数据进行备份。
#cd /boot
#mv config-2.6.18-128.el5 config-2.6.18-128.e15-back
#restore -C -f /root/boot.dump (通过备份的数据,找到与目前实际文件系统有差异的数据)
由于dump是记录整个文件系统的,因此还原时你也应该要给予一个全新的文件系统才行。
#fdisk /dev/sda
....
#partprobe
#mkfs -t ext3 /dev/sda8
#mount /dev/sda8 /mnt
#cd /mnt
#restore -r -f /root/boot.dump
仅还原部分文件的restore互动模式
#cd /mnt
#restore -i -f /root/etc.dump
此时进入了 互动模式
按help会有帮助
里面可以用ls,cd,pwd等命令
>add passwd shadow group ==>加入解压缩列表
>delete group ==>加错了,将group删除
>ls passwd shadow
*passwd 要被解压缩的前面有 *
*shadow
>extract ==>开始进行解压缩
>quit
#ll -d etc
#ll etc
引自:http://blog.chinaunix.net/uid-28216282-id-3366865.html