《linux备份与恢复之二》3.19 dump(文件系统备份)

时间:2023-03-09 14:56:27
《linux备份与恢复之二》3.19 dump(文件系统备份)

《Linux指令从初学到精通》第3章文件管理,本章介绍了许多常用命令,如cp、ln、chmod、chown、diff、tar、mv等,因为这些都与文件管理相关,在日常的使用中经常用到,因此本章是本书的重点章节。本节为大家介绍dump(文件系统备份)。

AD:

3.19 dump(文件系统备份)

(1)频度等级:☆

(2)功能说明:

dump 为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。

(3)语法:

  1. dump[-cnu][-0123456789][-b <区块大小>][-B 
    <区块数目>][-d <密度>][-f <设备名称>][-h <层
  2. 级>][-s <磁带长度>][-T <日期>][目录或文件系统]
  3. dump [-wW]

(4)所属包:

  1. dump          # yum -y install dump

(5)使用技巧:

指定生成的备份文件名或目标设备文件,可使用参数“-f”。

第一次备份文件时,备份层级为0,以后使用增量备份,以缩短备份时间并节省空间。

(6)相关命令:

  1. restore                 //恢复

(7)参数:

dump主要参数如表3-21 所示。

表3-21 dump参数表

《linux备份与恢复之二》3.19 dump(文件系统备份) 

(8)典型实例:

例1:使用dump命令备份指定目录。

例如使用“-f”参数备份指定的“/etc”目录,使用如下命令:

  1. dump-f etc.bak /etc/ #备份/etc/目录下所有文件

将输出以下信息:

    1. cmd@cmd-desktop:~$ dump -f etc.bak /etc/#备份/etc/目录下所有文件
  1. DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009 #备份输出信息
  2. DUMP: Label: none
  3. DUMP: Writing 10 Kilobyte records
  4. DUMP: mapping (Pass I) [regular files]
  5. DUMP: mapping (Pass II) [directories]
  6. DUMP: estimated 14472 blocks.
  7. DUMP: Volume 1 started with block 1 at: Sun Sep 20 14:47:36 2009
  8. DUMP: dumping (Pass III) [directories]
  9. DUMP: dumping (Pass IV) [regular files]
  10. DUMP: Closing etc.bak
  11. DUMP: Volume 1 completed at: Sun Sep 20 14:47:38 2009
  12. DUMP: Volume 1 14870 blocks (14.52MB)
  13. DUMP: Volume 1 took 0:00:02
  14. DUMP: Volume 1 transfer rate: 7435 kB/s
  15. DUMP: 14870 blocks (14.52MB) on 1 volume(s)
  16. DUMP: finished in 2 seconds, throughput 7435 kBytes/sec
  17. DUMP: Date of this level dump: Sun Sep 20 14:47:35 2009
  18. DUMP: Date this dump completed: Sun Sep 20 14:47:38 2009
  19. DUMP: Average transfer rate: 7435 kB/s
  20. DUMP: DUMP IS DONE 

    eg:

    [root@localhost ~]# du -sh /etc
    37M    /etc

  21. [root@localhost ~]# ll -h etc.bak
    -rw-r--r--. 1 root root 44M Jul  1 05:22 etc.bak

使用file命令查看文件信息,可得到如下结果:

  1. cmd@cmd-desktop:~$ file etc.bak #查看备份文件信息
  2. etc.bak: new-fs dump file (little endian), This 
    dump Sun Sep 20 14:47:35 2009, Previous
  3. dump Thu Jan 1 08:00:00 1970, Volume 1, Level 
    zero, type: tape header, Label none, Filesystem
  4. / (dir etc), Device /dev/sda1, Host hdd-desktop,
    Flags 3 #备份文件的详细信息

例2:使用dump 命令备份整个根文件系统。使用该命令可以将整个根文件系统备份到指定的外设,使用的命令如下:

  1. 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