一、介绍
1. Linux备份恢复的两种方式
方式一:把需要备份的文件或分区用TAR打包,恢复时解压覆盖即可。
方式二:使用dump和restore命令
2. dump语法说明
dump [参数] [-f 存放位置+指定备份后文件名] [-T 指定开始备份的时间日期] [待备份文件位置]
参数说明:
-c : 创建新的归档文件,并将由一个或多个文件参数所指定的内容写入归档文件的开头。
-0123456789:备份层级,0完整备份所有文件,0级以上的层级备份上次备份后更新部分,到9之后再次轮替,即再次从0开始。
-f 备份后文件名 : 指定备份的文件名。
-j : 调用bzlib库,将备份后的文件压缩成bz2格式,让备份后的文件占用空间更小。
-T 日期时间:指定备份的时间日期。
-u : 备份完毕后,在 /etc/dumpdares 中记录备份的文件系统,层级,时间等。
-t : 指定文件名,若该文件已存在备份文件中,则列出名称。
-W : 显示需要备份的文件,以及上次备份层级、日期时间等。
-w : 仅显示备份的文件。
3. 安装dump 和 restore
使用方式二备份恢复前需要安装dump 和 restore
yum -y install dump
yum -y install restore
一般是依赖关联的,下载了dump, 会自动帮你下载restore。如果下载restore出现如下图所示说明安装好了restore。
二、dump 备份
1. dump 分区备份
dump 案例1:将/boot 分区所有内容备份到 /opt/test/boot.bak0.bz2文件中,备份层级为“0”。
dump -0uj -f /opt/test/boot.bak0.bz2 /boot
第一次打包有118M。
dump 案例2:在/boot目录下增加新文件,备份层级为“1”(只备份上次使用层次“0”备份后发生过改变的数据), 注意比较看看这次生成的备份文件bootl.bak有多大。
dump -1uj -f /opt/test/boot.bak1.bz2 /boot
这次打包只有6.1M, 只备份了上次备份后新增的部分
显示需要备份的文件及最后一次备份的层级,时间,日期
dump -W
查看备份时间文件
cat /etc/dumpdates
2. dump 文件目录备份
在备份分区时,是可以支持增量备份的。如果备份文件或者目录,不再支持增量备份,即只能使用0级别备份。
案例:使用 dump 备份 /etc 整个目录。
dump -0j -f /opt/test/etc.bak.bz2 /etc
如果对文件或目录使用增量备份,报错如下:
dump -1j -f /opt/test/etc.bak.bz2 /etc
二、restore恢复
restore 命令用来恢复已备份的文件,可以从dump生成的备份文件中恢复原文件。
1. 使用restore恢复
restore [模式选项] [选项]
说明:下面四个模式,不能混用,在一次命令中,只能指定一种。
-C : 使用对比模式,将备份的文件与已存在的文件相互对比。
-i : 使用交互模式,在进行还原操作时,restors指令将依序询问用户。
-r : 进行还原模式。
-t : 查看模式,看备份文件有哪些文件。
选项 :
-f <存放路径+备份版本>: 从指定的文件中读取备份数据,进行还原操作
如: 使用对比模式
restore -C -f boot.bak0.bz2