首页 > 代码库 > 第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章 备份与恢复【全书完】