1. 备份要点
1.1备份资料的考虑
1.1.1造成系统损毁的问题
1.硬件问题
2.软件问题(rm -rf /home之类的可怕指令或者黑客的恶意攻击)
1.1.2主机角色不同,备份任务也不同
1.桌面计算机(Norton的Ghost)
2.web服务器
1.1.3备份因素考虑【1-0】
1.2哪些linux数据具有备份的意义(关键数据备份)
1.2.1操作系统本身需要备份的档案
/etc/整个目录 ----关键的账号数据
/home整个目录 ----家目录
/var/spool/mail ----重要的邮件
/boot ----核心
/root ----root账号的数据
/usr/local或/opt ----自行安装的其它软件
1.2.2网络服务的数据库方面【1-1】
/etc/ ----软件的配置文件
/usr/local/ ----软件
/var/www/或/src/www ----WWW资料
/var/lib/mysql ----MySQL资料
其它在Linux主机上提供的服务之数据库档案
1.2.3推荐需要备份的目录【1-2】
/boot
/etc
/home
/usr/local或者/pot及/srv
/var ----这个目录中的暂存目录可以不备份
1.2.4不要备份的目录【1-3】
/dev ----磁盘
/proc ----记录系统上正在跑的数据
/mnt与/media ----如果没有在这个目录中放置自己系统的东西,也不需要备份
/tmp ---暂存档
1.3备份用储存媒体的选择
1.3.1备份需要考虑的因素
1.速度
2.容量
3.可靠性
4.经费
1.3.2几种备份介质
1.光驱 /dev/cdrom(/dev/sdX或/dev/hdX) ----经济、方便,但容量有限
2.磁带机 /dev/st0(SCSI接口),/dev/ht0(IDE接口) ----经济、可靠、容量大、速度快
3.软盘驱动器 /dev/fd0,/dev/fd1 ----淘汰
4.硬盘机 /dev/hd[a-d][1-16](IDE),/dev/sd[a-p][1-16](SCSI/SATA) ----不接电源的硬盘需要很好的保养
5.外接USB硬盘 /dev/sd[a-p][1-16](与SCSI相同) ----普遍、方便
6.打印机 /dev/lp[0-2] ----我真的不晓得为什么它会在这里
2.备份的种类、频率与工具的选择
注意:完整备份指的是将根目录(/)整个系统全部备份下来,或者备份某个文件系统,例如/dev/sda1或/dev/md0或/dev/myvg/mylv
2.1完整备份之累积备份(Incremental backup),使用软件
1.含义:第一次完整备份,之后的备份只进行差异部分的备份
2.累计备份与还原的原理:
备份:第一次完全备份->第二次备份差异的部分->...
还原:还原第一次的完整备份备份->还原第二次的累积备份...
3.累计备份使用的备份软件
dd 直接读取磁盘的扇区而不理会文件系统,有点慢
cpio 能够备份所有档名,需要其他指令的配合
案例1.用dd来将/dev/sda备份到完全一模一样的/dev/sda硬盘上
# dd if=/dev/sda of=/dev/sdb ----由于dd读取扇区,所以/dev/sdb这可硬盘可以不必格式化,非常方便
案例2.使用cpio来备份与还原整个系统,假设储存媒体为SATA磁带机
# find / -print | cpio -covB > /dev/st0 ----备份到磁带机
# cpio -iduv < /dev/st0 ----还原
案例三:/home和/backupdata分别是独立的文件系统,使用dump将/home完整备份到/backupdata
1.完整备份
# dump -0u -f /backudata/home.dump /home
2.进行一次累积备份
# dump -1u -r /backupdata/home.dump.1 /home
案例四:使用tar进行完整备份
# tar --exclude /proc --exclude /mnt --exclude /tmp --exclude /backupdata -jcvp -f /backudata/system.tar.bz2 / ----将除了/proc,/mnt,/tmp的数据外根目录所有数据全部备份
2.2完整备份之差异备份(Differental backup)
注意:差异备份相比累计备份占用空间大但还原快,因为只需要还原完整备份和最近一次差异备份
1.含义:第一次完整备份,后面每一次都备份和第一次完整备份的数据作比较的差异
2.累计备份使用的指令
# tar -N '2014-01-06' -jpcv -f /backupdata/home.tar.bz2 /home ----将/home中2013-01-06之后更新过的档案进行打包
# rsync -av /home /backupdata/ ----将/home镜像到/backupdata中去
# rsync -av /home /backupdata/ ----这一次会快很多,因为镜像备份会检查有哪些更新,然后更新
2.3关键数据备份
# tar -jpcvf mysql.`date +%Y-%m-%d`.tar.bz2 /var/lib/mysql ----依据日期备份mysql数据库
3.VBird的备份策略与scripts
注意:在备份时应注意停止被备份数据区域的读写,以免发生错误
备份策略方案参考:【1-4】
3.1每周系统备份的脚本
# vim /backup/buckupwk.sh ----【SHEEL 1】
# chmod 700 /backup/backupwk.sh
3.2每日资料本分的脚本
# vim /backup/buckupdaily ----【SHEEL 2】
# chmod 700 /backup/backupday.sh
# /backup/backupday.sh
# vim /etc/crontab
30 3 * * 0 root /backupwk.sh ----每个星期的3:30执行backupwk.sh这个脚本
30 2 * * * root /backuupday.sh ----每天2:30进行mysql的备份
3.3远程备援的脚本
1.使用FTP上传备份数据 ----【SHEEL 3】
注意:将备份到/backup/weekly/中的数据打包成为/backup/weekly.tar.bz2,并上传到服务器的/home/backup/底下。
2.使用rsync上传备份数据 ----【SHEEL 4】
注意:必须取得一个不用密码即可登录的账号
4.灾难复原的考虑
1.硬件损毁,且具有完整备份的数据
2.由于软件问题产生的被攻破资安事件【1-5】
5.重点回顾【1-6】
6.本章习题【1-7】
7.参考数据与延伸阅读