基本介绍
Linux 备份和恢复很简单,有两种方式:
如果 Linux 上没有 dump 和 restore 指令,需要先安装
yum -y install dump
yum -y install restore
使用 dump 完成备份
基本介绍
- dump 支持分卷和增量备份(所谓增量备份是指备份最近一次备份以来修改过的文件,也称差异备份)。
- 完全备份:完全备份就是把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。
- 增量备份:顾名思义,就是指备份增加的部分。好处就是备份数据少,占用资源也少。但坏处就是恢复的时候要先恢复原始的,然后恢复增量的,比较麻烦。
dump 基本语法
| 选项 | 说明 | | —- | —- | | -c | 创建新的归档文件,并将由一个或多个文件参数所指定的内容写入归档文件的开头。 | | -0123456789 | 备份的层级。0为最完整备份,会备份所有文件。若指定0以上的层级,则备份至上一次备份以来修改或新增的文件。 | | -f <备份后文件名> | 备份后文件名 | | -j | 调用 bzlib 库压缩备份文件,其实就是把备份文件压缩为 .bz2 格式,让文件更小 | | -T <日期> | 指定开始备份的时间与日期 | | -u | 备份完毕后,在 /etc/dumpdares 中记录备份的文件系统,层级,日期与时间等。 | | -t | 指定文件名,若该文件已存在备份文件中,则列出名称 | | -W | 显示需要备份的文件及其最后一次备份的层级,时间 ,日期。 | | -w | 与-W类似,但仅显示需要备份的文件。 |dump [-cu] [-123456789] [-f <备份后文件名>] [-T <日期>] [目录或文件系统]
dump []-wW
dump -W #查询分区的备份时间及备份级别(整个分区)
cat /etc/dumpdates #查看已备份文件的备份时间
dump 应用案例
#案例1:将 /boot 分区所有内容备份到 /opt/boot.bak0.bz2 文件中,备份层级为“0”
dump -0uj -f /opt/boot.bak0.bz2 /boot/
#案例2:在 /boot 目录下增加一个文件,再备份,备份等级为“1”(只备份上次使用层级“0”备份后发生过改变的数据),此次备份内容保存到 /opt/boot.bak1.bz2 文件中,比较两次备份的文件大小
dump -1uj -f /opt/boot.bak1.bz2 /boot/
dump 备份文件或者目录
dump 在备份分区时(比如 /boot),是可以支持增量备份的(备份层级可选1-9)。如果备份文件或者目录时,不支持增量备份,只能完整备份,即只能使用备份级别0。
#案例1:将 /etc 目录所有内容备份到 /opt/etc.bak0.bz2 文件中,备份层级为“0”
dump -0uj -f /opt/etc.bak0.bz2 /etc/
#案例2:在 /etc 目录下增加一个文件,再备份,备份等级为“1”,备份内容保存到 /opt/boot.bak1.bz2 文件中,输入下面命令会报错
dump -1uj -f /opt/ect.bak1.bz2 /ect/
使用 restore 完成恢复
基本介绍
restore 命令用来恢复已备份的文件,可以从 dump 生成的备份文件中恢复原文件。
restore 基本语法
- restore [模式选项] [选项]
- 选项: -f <指定备份文件的文件名>:从指定的文件中读取备份数据,进行还原操作
- 模式选项:restore命令常用的模式有四种,这四种模式不能混用 | 选项 | 说明 | | —- | —- | | -C | 对比模式,将备份文件和实际文件相互对比 | | -i | 交互模式,手工选择需要恢复的文件 | | -t | 查看模式,用于查看备份文件中有哪些文件 | | -r | 还原模式,用于还原数据 |
restore 应用案例
应用案例1
restore 命令比较模式,比较备份文件和原文件的区别
测试
mv /boot/hello.java /boot/hello100.java
restore -C -f boot.bak1.bz2 //注意和最新的文件比较
mv /boot/hello100.java /boot/hello.java
restore -C -f boot.bak1.bz2
应用案例2
restore 命令查看模式,看备份文件有哪些数据/文件
测试
restore -t -f boot.bak0.bz2
应用案例3
restore 命令还原模式, 注意细节: 如果你有增量备份,需要把增量备份文件也进行恢复, 有几个增量备份文件,
就要恢复几个,按顺序来恢复即可。
测试
mkdir /opt/boottmp
cd /opt/boottmp
restore -r -f /opt/boot.bak0.bz2 //恢复到第1 次完全备份状态
restore -r -f /opt/boot.bak1.bz2 //恢复到第2 次增量备份状态
应用案例4
restore 命令恢复备份的文件,或者整个目录的文件
基本语法: restore -r -f 备份好的文件
测试
[root@hspedu100 opt]# mkdir etctmp
[root@hspedu100 opt]# cd etctmp/
[root@hspedu100 etctmp]# restore -r -f /opt/etc.bak0.bz2