目录
1 备份概述
1.1 Linux系统需要备份的数据
-
/root/目录:
-
/home/目录:
-
/var/spool/mail/目录:
-
/etc/目录:
-
其他目录:
1.2 安装服务的数据
apache需要备份的数据
-
配置文件
-
网页主目录
-
日志文件
mysql需要备份的数据
-
源码包安装的mysql:/usr/local/mysql/data/
-
RPM包安装的mysql:/var/lib/mysql/
1.3 备份策略
-
完全备份:完全备份就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录
- 增量备份
- 差异备份
2 dump和restore命令
2.1 dump命令
命令格式:dump [选项] 备份之后的文件名 原文件或目录
选项:
- -level: 就是我们说的0-9十个备份级别
- -f 文件名: 指定备份之后的文件名
- -u: 备份成功之后,把备份时间记录在/etc/dumpdates文件
- -v: 显示备份过程中更多的输出信息
- -j: 调用bzlib库压缩备份文件,其实就是把备份文件压缩 为.bz2格式,默认压缩等级是2
- -W: 显示允许被dump的分区的备份等级及备份时间
2.1.1 备份分区
dump -0uj -f /root/boot.bak.bz2 /boot/ # 备份命令。先执行一次完全备份,并压缩和更新备份时间
cat /etc/dumpdates # 查看备份时间文件
cp anaconda-ks.cfg /boot/ # 复制anaconda-ks.cfg文件到/boot分区
dump -1uj -f /root/boot.bak1.bz2 /boot/ # 增量备份/boot分区,并压缩
dump –W # 查询分区的备份时间及备份级别的
cat /etc/dumpdates # 查看备份时间文件
2.1.2 备份文件或目录
dump -0j -f /root/etc.dump.bz2 /etc/ #完全备份/etc/目录,只能使用0级别进行完全备份,而不再支持增量备份
2.2 restore命令
命令格式:restore [模式选项] [选项]
模式选项:restore命令常用的模式有以下四种,这四个模式不能混用。
- -C:比较备份数据和实际数据的变化
- -i: 进入交互模式,手工选择需要恢复的文件。
- -t: 查看模式,用于查看备份文件中拥有哪些数据。
- -r: 还原模式,用于数据还原。
选项:
- -f: 指定备份文件的文件名
2.2.1 比较备份数据和实际数据的变化
- mv /boot/vmlinuz-3.10.0-957.el7.x86_64 /boot/vmlinuz-3.10.0-957.el7.x86_64.bak #把/boot目录中内核镜像文件改个名字
- restore -C -f /root/boot.bak.bz2 # restore发现内核镜像文件丢失
2.2.2 查看模式
- restore -t -f boot.bak.bz2
2.2.3 还原模式
还原boot.bak.bz2分区备份,先还原完全备份的数据
- mkdir boot.test
- cd boot.test/
- restore -r -f /root/boot.bak.bz2 # 解压缩
- restore -r -f /root/boot.bak1.bz2 # 恢复增量备份数据
还原/etc/目录的备份etc.dump.bz2
- mkdir etc.test
- cd etc.test/
- restore -r -f /root/etc.dump.bz2 # 还原etc.dump.bz2备份