Linux数据备份分析
备份是系统损坏等待恢复的救星,备份的好坏会影响系统恢复的进度。 造成系统损坏的原因:硬件问题,软件与人的问题备份因素考虑
原因:由于操作频率太高,硬件良率差,用户操作习惯不良,某些操作系统的宕机率高要考虑的因素
1.备份哪些文件
2.选择什么媒介备份
3.考虑备份的方式
4.考虑备份的频率
5.备份的工具 :tar,dd,cpio,dump,restore,xfsdump
6.要考虑数据新旧版本差异问题及数据移植和重新建立,进行测试
备份哪些呢
1.操作系统本身需要备份的
若你的网络软件安装都是以原厂提供为主,配置文件大多在/etc下
若软件来自于自行安装,那么主要在/usr/local下
/etc目录
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home的家目录
/var/spool/mail
/var/spool/at
/var/spool/cron
/boot
/root
/usr/local
/opt
2.服务器中常见要备份的数据。
/root/ 目录:/root/ 目录是管理员的家目录,很多管理员会习惯在这个目录中保存一些相关数据,那么,当进行数据备份时,需要备份此目录。
/home/ 目录:/home/ 目录是普通用户的家目录。如果是生产服务器,那么这个目录中也会保存大量的重要数据,应该备份。
/var/spool/mail/ 目录:在默认情况下,所有的用户未读的邮件会保存在 /var/spool/mail/ 目录下和用户名相同的邮箱文件中,
已读的邮件会保存在用户家目录下的 mbox 文件中(mail 命令默认如此保存,不过如果使用了 hold 命令,
那么不管邮件是否已读,都保存在 /var/spool/mail/ 目录中。可以使用 mbox 命令恢复已读邮件保存在“~/mbox”文件中)。
一般情况下,用户的邮件也是需要备份的重要数据。
/etc/ 目录:系统重要的配置文件保存目录,当然需要备份。
其他目录:根据系统的具体情况,备份你认为重要的目录。比如,我们的系统中有重要的日志,
或者安装了 RPM 包的 MySQL 服务器(RPM 包安装的 mysql 服务,数据库保存在 /var/lib/mysql/ 目录中),
那么 /var/ 目录就需要备份;如果我们的服务器中安装了多个操作系统,或编译过新的内核,那么 /boot/ 目录就需要备份。
这里拿最常见的 apache 服务和 mysql 服务来举例。
源码包 :源码包虽然具有开源,更稳定,卸载方便等;但安装过程步骤多,编译时间长,安装速度慢。
rpm二进制包 :由源码包编译后成的rpm二进制包,虽然管理安装软件方便,安装速度快;但不开源,需要较强的依赖性。
apache 服务需要备份如下内容:
配置文件:RPM包安装的apache,需要备份 /etc/httpd/conf/httpd.conf;
源码包安装的apache则需要备份/usr/local/apache2/conf/httpd.conf。
网页主目录:RPM包安装的apache,需要备份 /var/www/html/目录中所有的数据;
源码包安装的apache需要备份/usr/local/apache2/htdocs/目录中所有的数据。
日志文件:RPM包安装的apache,需要备份/var/log/httpd/目录中所有的日志;
源码包安装的apache需要备份/usr/local/apache2/logs/目录中所有的日志。
对源码包安装的 apache 来讲,只要备份 /usr/local/apache2/ 目录中所有的数据即可,因为源码包安装的服务的所有数据都会保存到指定目录中。
但如果是 RPM 包安装的服务,就需要单独记忆和指定了。
mysql 服务需要备份如下内容:
对于源码包安装的 mysql 服务,需要备份 /usr/local/mysql/data/ 默认目录
对于RPM包安装的 mysql 服务,需要备份 /var/lib/mysql/ 默认目录
注:如果是源码包安装的服务,则可以直接备份 /usr/local/ 目录,因为一般源码包服务都会安装到 /usr/local/ 目录中。
如果是 RPM 包安装的服务,则需要具体服务具体对待,备份正确的数据。
3.不需要备份的目录:
/dev :这个随便
/proc 、/sys、/run: 这个真不需要备份
/mnt、/media: 若你在该目录放置自己系统的东西。
/tmp :临时目录
备份存储媒介的选择
1.异地备份系统(容错NAS设备)
概念:就是将你的备份到其他地方去缺点:带宽严重不足
2.别的媒介
分类:zip,DVD-RW ,外接式磁盘,磁带。备份工具的选择
工具:dd,cpio,xfsdump,xfsrestore
工具的特点:
dd:可以直接读取磁盘的扇区,但很慢
cpio:能备份所有文件名,得配合find等其他命令
备份方式的选择
1.完整备份
概念:就是将根目录(/)整个系统备份下来
特点:还原简单,备份时数据量大
工具:dd,cpio,xfsdump,xfsrestore
2.增量备份
概念: 第一次同完整备份数据比较,增量备份1;
第二次与同上次 增量备份1 和完整备份 比较,增量备份2;
第三次与同上上次 增量备份1 和 增量备份2 和 完整备份 比较,增量备份3;.......
特点:还原麻烦,增量备份了几次就得还原几次+完整备份还原,备份时数据量小,速度快
工具:xfsdump命令或者脚本程序
3.差异备份
概念: 第一次同完整备份数据比较,差异备份1;
第二次与同 完整备份 比较,差异备份2;
第三次与同 完整备份 比较,差异备份3; ...........
特点:还原较增量备份简单,备份时较增量备份数据量大,速度慢