基本介绍

  • Linux 备份和恢复很简单,有两种方式:

    • 把需要的文件(或者分区)用TAR打包就行,下次需要恢复的时候,再解压开覆盖即可
    • 使用 dump 和 restore命令

      安装 dump 和 restore

  • 如果 Linux 上没有 dump 和 restore 指令,需要先安装

    1. yum -y install dump
    2. yum -y install restore

    使用 dump 完成备份

    基本介绍

    • dump 支持分卷和增量备份(所谓增量备份是指备份最近一次备份以来修改过的文件,也称差异备份)。
    • 完全备份:完全备份就是把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。
    • 增量备份:顾名思义,就是指备份增加的部分。好处就是备份数据少,占用资源也少。但坏处就是恢复的时候要先恢复原始的,然后恢复增量的,比较麻烦。

      dump 基本语法

      1. dump [-cu] [-123456789] [-f <备份后文件名>] [-T <日期>] [目录或文件系统]
      2. dump []-wW
      3. dump -W #查询分区的备份时间及备份级别(整个分区)
      4. cat /etc/dumpdates #查看已备份文件的备份时间
      | 选项 | 说明 | | —- | —- | | -c | 创建新的归档文件,并将由一个或多个文件参数所指定的内容写入归档文件的开头。 | | -0123456789 | 备份的层级。0为最完整备份,会备份所有文件。若指定0以上的层级,则备份至上一次备份以来修改或新增的文件。 | | -f <备份后文件名> | 备份后文件名 | | -j | 调用 bzlib 库压缩备份文件,其实就是把备份文件压缩为 .bz2 格式,让文件更小 | | -T <日期> | 指定开始备份的时间与日期 | | -u | 备份完毕后,在 /etc/dumpdares 中记录备份的文件系统,层级,日期与时间等。 | | -t | 指定文件名,若该文件已存在备份文件中,则列出名称 | | -W | 显示需要备份的文件及其最后一次备份的层级,时间 ,日期。 | | -w | 与-W类似,但仅显示需要备份的文件。 |

dump 应用案例

  1. #案例1:将 /boot 分区所有内容备份到 /opt/boot.bak0.bz2 文件中,备份层级为“0”
  2. dump -0uj -f /opt/boot.bak0.bz2 /boot/
  3. #案例2:在 /boot 目录下增加一个文件,再备份,备份等级为“1”(只备份上次使用层级“0”备份后发生过改变的数据),此次备份内容保存到 /opt/boot.bak1.bz2 文件中,比较两次备份的文件大小
  4. dump -1uj -f /opt/boot.bak1.bz2 /boot/

dump 备份文件或者目录

dump 在备份分区时(比如 /boot),是可以支持增量备份的(备份层级可选1-9)。如果备份文件或者目录时,不支持增量备份,只能完整备份,即只能使用备份级别0。

  1. #案例1:将 /etc 目录所有内容备份到 /opt/etc.bak0.bz2 文件中,备份层级为“0”
  2. dump -0uj -f /opt/etc.bak0.bz2 /etc/
  3. #案例2:在 /etc 目录下增加一个文件,再备份,备份等级为“1”,备份内容保存到 /opt/boot.bak1.bz2 文件中,输入下面命令会报错
  4. dump -1uj -f /opt/ect.bak1.bz2 /ect/

使用 restore 完成恢复

基本介绍

restore 命令用来恢复已备份的文件,可以从 dump 生成的备份文件中恢复原文件。

restore 基本语法

  • restore [模式选项] [选项]
  • 选项: -f <指定备份文件的文件名>:从指定的文件中读取备份数据,进行还原操作
  • 模式选项:restore命令常用的模式有四种,这四种模式不能混用 | 选项 | 说明 | | —- | —- | | -C | 对比模式,将备份文件和实际文件相互对比 | | -i | 交互模式,手工选择需要恢复的文件 | | -t | 查看模式,用于查看备份文件中有哪些文件 | | -r | 还原模式,用于还原数据 |

restore 应用案例

应用案例1

restore 命令比较模式,比较备份文件和原文件的区别
测试

  1. mv /boot/hello.java /boot/hello100.java
  2. restore -C -f boot.bak1.bz2 //注意和最新的文件比较

image.png

  1. mv /boot/hello100.java /boot/hello.java
  2. restore -C -f boot.bak1.bz2

image.png

应用案例2

restore 命令查看模式,看备份文件有哪些数据/文件
测试

  1. restore -t -f boot.bak0.bz2

应用案例3

restore 命令还原模式, 注意细节: 如果你有增量备份,需要把增量备份文件也进行恢复, 有几个增量备份文件,
就要恢复几个,按顺序来恢复即可。
测试

  1. mkdir /opt/boottmp
  2. cd /opt/boottmp
  3. restore -r -f /opt/boot.bak0.bz2 //恢复到第1 次完全备份状态
  4. restore -r -f /opt/boot.bak1.bz2 //恢复到第2 次增量备份状态

应用案例4

restore 命令恢复备份的文件,或者整个目录的文件
基本语法: restore -r -f 备份好的文件
测试

  1. [root@hspedu100 opt]# mkdir etctmp
  2. [root@hspedu100 opt]# cd etctmp/
  3. [root@hspedu100 etctmp]# restore -r -f /opt/etc.bak0.bz2