1. Linux系统需要备份的数据
- /root
- /home
- /var/spool/mail
- /etc
- 其他目录
2. 常见服务的数据
apache需要备份的数据:
- 配置文件
- 网站
- 日志文件
mysql需要备份的数据:
- 源码包安装的mysql: /usr/local/mysql/data/
- RPM包安装的mysql: /var/lib/mysql/
3. 备份策略
完全备份:是指每次都把所有需要备份的数据全部备份。
增量备份:是指每次备份只备份较于上一次备份后新增的数据。
差异备份:是指第一次完全备份原始数据,第二次备份原始数据和差异数据,第三次备份原始数据和差异数据…。
4. 备份命令dump
通常,Linux系统中默认没有安装dump命令,当然,你也可以用下面的方法查询是否安装了dump。
rpm -q dump
或
rpm -qa | grep dump
确定Linux中没有安装dump的话,就用yum快速安装一下:
yum -y install dump
命令格式: dump [选项] 备份之后的文件名 原文件或目录
选项:
- -备份级别:0-9共十个备份级别(-0表示完全备份,-1到-9表示增量备份,只有分区允许增量备份,其他的目录只能完全备份)。
- -f:指定备份之后的文件名。
- -u:分区备份成功后,把备份时间记录在/etc/dumpdates文件中,该参数仅用于分区备份。
- -v:显示备份过程中的详细信息。
- -j:调用bzlib库压缩备份文件,也就是把备份文件压缩为.bz2格式。
- -W:显示允许被dump的分区的备份级别和备份时间。
示例:
dump -0uj -f /root/boot.bak.bz2 /boot
完全备份boot分区,并压缩和更新备份时间。
cat /etc/dumpdates
查看备份时间。
cp /root/install.log /boot
将install.log拷贝到boot分区中。
dump -1uj -f /root/boot.bak1.bz2 /boot
增量备份boot分区。
dump -W
查看分区的备份级别和备份时间。
dump -0j -f /root/etc.bak.bz2 /etc
完全备份/etc目录,并进行压缩。
5. 恢复命令restore
命令格式: restore [模式] [选项]
常用的模式有以下四种,但不能混用。
-C 比较备份数据和实际数据的变化
-i 进入交互模式,手工选择需要恢复的文件
-t 查看模式,用于查看备份文件中拥有哪些数据
-r 还原模式,用户数据的还原
选项:
-f 指定备份文件的文件名
示例:
restore -C -f /root/boot.bak.bz2
比较备份数据和实际数据之间的区别。
restore -t -f /root/boot.bak.bz2
查看备份文件中的所有文件。
如果是增量备份,恢复数据时,先恢复完全备份的原始数据,再逐个恢复增量数据。
这里,我们新建一个空目录 /root/test,来进行恢复测试。
mkdir /root/test
cd /root/test
restore -r -f /root/boot.bak.bz2
restore -r -f /root/boot.bak1.bz2