1、linux下经常需要备份的目录:
/root/目录、/home/目录、/etc/目录、/var/spool/mail/目录、其他目录(自己安装的服务,如apache、mysql)
apache需要备份的数据:配置文件、网页主目录、日志文件
mysql需要备份的数据:源码包安装的mysql:/usr/local/mysql/data、rpm包安装的msyql:/var/lib/mysql
2、备份策略
2.1 完全备份:把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体目录(备份慢,恢复方便)
2.2 增量备份:备份新增的数据,不需要全部重新备份(备份快,恢复比较麻烦,有多少增量备份就要恢复多少个)
2.3 差异备份:每一次备份都跟第一次完全备份比较,只备份完全备份中不存在的(比完全备份少一点,比增量备份恢复好一些,但现实还是完全备份与增量备份用的多)
3、dump(备份) 与 restore(恢复)命令:
【注】:虽然可以自己写脚本cp、mv、rm但是太麻烦,系统提供了这两个命令很方便
查看dump与restore是否安装:rpm -qa | grep dump(注意不是tcpdump,tcpdump是linux抓包命令)、rpm -qa | grep restore
3.1 dump [选项] 备份后的文件名 源文件或目录
选项:
-level:就是我们说的0-9十个备份级别,其中0就是完全备份,1就是第一次增量备份,2就是第二次增量备份。。,如“-0”
-f文件名:指定备份之后的文件名
-u:备份成功之后,把备份时间记录在/etc/dumpdates文件中
-v:显示备份过程中更多的输出信息
-j:调用bzlib库压缩备份文件,其实就是把备份文件压缩为bz2格式
-W:显示允许被dump的分区的备份等级以及备份时间
eg1:备份分区
完全备份
dump -0uj -f /root/boot.bak.bz2 /boot/ //执行一次完全备份,并压缩和更新备份时间
cat /etc/dumpdates //查看备份时间文件
增量备份
cp /root/install.log /boot //复制install.log 日志文件到boot下,然后用来测试增量备份
dump -1uj -f /root/boot.bak1.bz2 /boot/ //增量备份boot分区并压缩
dump -W //查询分区的备份时间以及备份级别的
eg2:备份文件或者目录(无法使用增量备份,增量备份只有分区才能用,也不能加-u选项)
dump -0j -f /root/etc.bak.bz2 /etc //备份/etc目录
4、resore 恢复备份数据:restore [模式选项][选项]
模式选项:restore命令常用的模式有以下四种,这四个模式不能混用,只能选一个。
-C:比较备份数据和实际数据变化
-i:进入交互模式,手工选择需要回复的文件
-t:查看模式,用于查看备份文件中拥有哪些数据
-r:还原模式,用于数据还原
选项:
-f:制定备份文件的文件名
eg1:restore -C -f /root/boot.bak.bz2
mv /boot/vmlinuz-2.6.32-431.el6.x86_64 /boot/vmlinuz-2.6.32-431.el6.x86_64.bak //为了测试-C作用,记住测试完成后一定要还原,否则下次无法启动了
eg2:restore -t -f /root/boot.bak.bz2 //查看 /root/boot.bak.bz2都备份了哪些数据
eg3:还原 boot备份分区
//先创建个目录,省得到时候恢复的到处都是
mkdir boot.test
cd boot.test/
restore -r -f /root/boot.bak.bz2 先还原完全备份数据
restore -r -f /root/boot.bak1.bz2 在还原增量备份数据
eg4:还原目录也一样
mkdir etc.test
cd etc.test
restore -r -f /root/etc.bak.bz2