备份与恢复

来源:互联网 发布:js字符串比较相等 编辑:程序博客网 时间:2024/06/10 16:02

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/testcd /root/testrestore -r -f /root/boot.bak.bz2restore -r -f /root/boot.bak1.bz2