博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《linux备份与恢复之二》3.19 dump(文件系统备份)
阅读量:5742 次
发布时间:2019-06-18

本文共 4196 字,大约阅读时间需要 13 分钟。

《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参数表

 

(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

转载地址:http://eanzx.baihongyu.com/

你可能感兴趣的文章
无法SSH到Ubuntu
查看>>
使用@media实现IE hack的方法
查看>>
磁盘管理 - 软RAID
查看>>
KVM下virtio驱动虚拟机XML配置文件分析
查看>>
创建一个基本镜像
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>
7、kvm虚拟机快照备份
查看>>
visual studio 2005没有找到MSVCR80D.dll问题
查看>>
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
我的友情链接
查看>>
2011.9.12
查看>>
java自带线程池和队列详细讲解
查看>>
XML教程
查看>>
AS3.0 Array常用方法总结
查看>>
oracle体系结构
查看>>
POJ 1016 Numbers That Count 不难,但要注意细节
查看>>
J2音乐房
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>