首页 > 代码库 > 第15章 备份与恢复【全书完】
第15章 备份与恢复【全书完】
1. 备份概述
(1)Linux系统需要备份的数据
①/root/目录
②/home/目录
③/var/spool/mail/目录
④/etc/目录
⑤其他目录
(2)安装服务的数据
①apache需要备份的数据:配置文件、网页主目录、日志文件等
②mysql需要备份的数据:源码包安装的mysql:/usr/local/mysql/data/;RPM包安装的mysql:/var/lib/mysql/
(3)备份策略
①完全备份:完全备份就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。
②增量备份:第1次进行完全备份,以后只需备份自上次备份以来新增的数据。这种每次只备份新数据,时间快,也最节省空间,但恢复很麻烦,需要先按备份相同的顺序来恢复,有多少个增量备份就得恢复多少次。
③差异备份:第1次进行完全备份,第2次备份完全备份之后新增的数据,第3次备份第2次备份及以后新增的数据,第4次备份将第2次的备份、第3次的备份及第3次以后新增数据备份起来,以此类推。即每次备份是与完全备份相比,只要是完全备份以后新增的数据都要备份起来。其优点就是恢复较容易,更占用的空间比较大。
2. dump和restore命令
2.1 dump命令:
(1)安装dump命令
#rpm –qa | grep dump //查询dump命令所在的安装包 #yum –y install dump //安装dump命令
(2)命令格式:#dump [选项] 备份之后的文件名 原文件或目录
选项 |
说明 |
-level |
10个备份等级(0-9),其中0表示第1次完全备份,1表示第2次的增量备份,2表示第3次增量备份,以此类推,最多支持9次。 |
-f 文件名 |
指定备份之后的文件名 |
-u |
备份成功之后,把备份时间记录在/etc/dumpdates文件中 |
-v |
显示备份过程中更多的输出信息 |
-j |
调用bzlib库压缩文件,其实就是把备份文件压缩为.bz2格式 |
-W |
查询分区的备份等级及备份时间(只能查看分区的备份状态) |
(3)应用举例
①备份/boot分区:(分区可以完全备份和增量备份)
#dump -0uj -f /root/boot.bak.bz2 /boot/ //第1次完全备份 #cat /etc/dumpdates //查看备份时间文件 #cp install.log /boot/ 复制日志文件到/boot分区,这也是新增的数据 #dump -1uj -f /root/boot.bak1.bz2 /boot/ 增量备份/boot分区,并压缩 #dump -W 查询分区的备份时间及备份级别
②备份目录(目录只能完全备份,不能增量备份)
#dump -0j –f /root/ect.dump.bz2 /etc/ 完全备份/etc目录,只能使用0级别进行完全备份,而不再支持增量备份。
2.2 restore命令
(1)命令格式:#restore [模式选项] [选项]
模式选项 |
说明 |
-C |
比较备份数据和实际数据的变化 |
-i |
进入交互模式,手工选择需要恢复的文件 |
-t |
查看模式,用于查看备份文件中拥有哪些数据 |
-r |
还原模式,用于数据还原 |
备注 |
restore的模式不能混用。 |
|
|
选项 |
说明 |
-f |
指定备份文件的文件名 |
(2)应用举例
①查看模式:#restore -t -f boot.bak.bz2
②还原模式
#mkdir boot.test #cd boot.test/ //将备份的数据恢复到boot.test目录下 #restore -r -f /root/boot.bak.bz2 //先还原完全备份的数据 #restore -r -f /boot/boot.bak1.bz2 //恢复增量备份的数据
第15章 备份与恢复【全书完】