dump命令主要用于针对文件系统的备份,dump命令提供的level 0-9参数,使得dump命令可以进行完整备份(level =0),也可以进行差异备份(level>0)。Dump也能备份单一的目录,只不过功能上有一定限制。


dump常用参数:

-S :仅列出后面的待备份数据需要多少磁盘空间

-u:将这次dump的时间记录到/etc/dumpdates文件中

-v:将dump文件过程显示出来

-j:加入bzip2的支持,将文件进行压缩,默认bzip2等级为2

-level :从0-9,共10个等级,0表示完整备份,0以上的数值表示差异备份。

-f:后面接产生的文件。

-W:列出在/etc/fstab里面的具有dump设置的分区是否有被备份过。

 

查看备份文件需要的磁盘空间大小:

[root@localhost ~]# df -h
Filesystem      Size Used Avail Use% Mounted on
/dev/sda2        18G  13G  3.8G  78% /
tmpfs           491M   84K 491M   1% /dev/shm
/dev/sda1       283M  35M  233M  14% /boot
[root@localhost ~]# dump  -S /dev/sda1
34590720


进行完全备份,备份文件命名为/root/boot.dump

[root@localhost ~]# dump -0u -f/root/boot.dump /boot
 DUMP: Date of this level 0 dump: Mon Aug 21 19:53:29 2017
 DUMP: Dumping /dev/sda1 (/boot) to /root/boot.dump
 DUMP: Label: none
  …


查看备份文件信息:

[root@localhost ~]# ll /root/boot.dump/etc/dumpdates
-rw-rw-r--. 1 root disk       43 Aug 21 19:53 /etc/dumpdates
-rw-r--r--. 1 root root 34703360 Aug 2119:53 /root/boot.dump


加上-u参数 /etc/dumpdates内容才会更新,这个文件只有在做完全备份时才有支持自动更新的功能。

查看系统自动新建的记录文件

[root@localhost ~]# cat /etc/dumpdates
/dev/sda1 0 Mon Aug 21 19:53:29 2017 -0700

 

查看有没有任何文件系统被dump过得数据

[root@localhost ~]# dump -W
Last dump(s) done (Dump '>' filesystems):
> /dev/sda2     (    /) Last dump: never
 /dev/sda1     ( /boot) Last dump:Level 0, Date Mon Aug 21 19:53:29 2017


新建一个10M的文件在boot内(使用dd命令从/dev/zero的第一扇区开始一次性复制出一个大小为10M的内容到/boot/test.img)

[root@localhost ~]# dd if=/dev/zero of=/boot/test.img  bs=10M
dd: writing `/boot/test.img': No space lefton device
25+0 records in
24+0 records out
255475712 bytes (255 MB) copied, 12.6963 s,20.1 MB/s


开始新建差异备份

[root@localhost ~]# dump -1u -f/root/boot.dump.1 /boot
 DUMP: Date of this level 1 dump: Mon Aug 21 20:38:05 2017
 DUMP: Date of last level 0 dump: Mon Aug 21 19:53:29 2017
 DUMP: Dumping /dev/sda1 (/boot) to /root/boot.dump.1


查看新的备份文件大小

[root@localhost ~]# ll /root/boot*
-rw-r--r--. 1 root root  34703360 Aug 21 19:53 /root/boot.dump
-rw-r--r--. 1 root root 256512000 Aug 2120:38 /root/boot.dump.1


查看是否有记录level1备份的时间点

[root@localhost ~]# dump -W
Last dump(s) done (Dump '>' filesystems):
> /dev/sda2     (    /) Last dump: never
 /dev/sda1     ( /boot) Last dump:Level 1, Date Mon Aug 21 20:38:05 2017

 

dump备份单一目录(非文件系统):

dump备份单一目录时,有一定限制:

1)所有的备份数据都必须要在该目录下。

2)且只能使用level 0。(只能做完整备份)

3)不支持-u参数,不能创建/etc/dumpdates在这个level备份的时间记录文件。

一般来说dump不会使用包含压缩的功能,加上-j参数后,可以压缩备份文件,节省备份空间。

[root@localhost ~]# dump -0j -f/root/etc.dump.bz2 /etc
 DUMP: Date of this level 0 dump: Mon Aug 21 23:42:21 2017
 DUMP: Dumping /dev/sda2 (/ (dir etc)) to /root/etc.dump.bz2
[root@localhost ~]# ll /root/etc.dump.bz2
-rw-r--r--. 1 root root 13870901 Aug 2123:42 /root/etc.dump.bz2