如果只是实现完全备份,完全可以用tar打包压缩,用cp命令进行复制,然后写一个备份脚本,把我的重要数据备份,然后要定时任务在指定的时间去运行这个脚本,就可以实现完全备份。
但是要想实现增量备份,用自己去写脚本的方式来做就会非常麻烦,如何解决整个问题那??? 可以使用备份工具dump和恢复工具restore命令来实现。
命令: dump [选项] 备份之后的文件名 原文件或目录
选项:
-level 0-9是个备份级别
-f文件名 指定备份之后的文件名
-u 备份成功之后,把备份时间记录在/etc/dumpdates文件
-v 显示备份过程中更多的输出信息
-j 调用bzlib库压缩备份文件,其实就是把备份文件压缩为.bz2格式
-w 显示允许被dump的分区的备份等级及备份时间
dump命令默认没有安装,需要手工安装
开始实验:
(1) 为了做实验可以备份一下/boot/分区,在实际的工作当中一般情况下,/boot/分区不需要备份。只要版本是一样的,/boot/分区里的内容都是一样的。
命令: dump -0uj -f /root/boot.bak.bz2 /boot`
作用:备份命令,先执行依次完全备份,并压缩和更新备份时间
命令: cat /etc/dumpdates
作用:查看备份时间文件
(2) 把install.log文件拷贝到/boot/目录下,在进行增量备份,看一下这个dump命令到底是把整个/boot/目录完整的在备份一遍,还是只备份新数据。启动分区最好不要做过多的操作,万一把这个分区写满就会起不来,整个只是做实验,还会把他删掉。拷贝进去之后那,再去执行一遍,一级别的增量备份。
命令: cp install.log /boot/
作用:复制日志文件到/boot分区
命令: dump -1uj -f /root/boot.bak1.bz2 /boot
作用:增量备份/boot/分区,并压缩
命令: dump -W
作用:查询分区的备份时间及备份级别的
在Linux当中一切皆文件
命令: dump -0j -f /root/etc.dump.bz2 /etc/
作用:完全备份/etc/目录,只能使用0几倍进行完全备份,而不在支持增量备份
注意: 如果备份的是目录,只能使用0级别,进行完整备份,只有备份分区的时候才可以执行增量备份。
命令: restore [模式选项] [选项]
模式选项: restore命令常用的模式有以下四种,这四个模式不能混用,只能选一个。
-C 比较备份数据和实际数据的变化
-i 进入交互模式,手工选择需要恢复的文件
-t 查看模式,用于查看备份文件中拥有哪些数据。
-r 还原模式,用于数据还原
选项
-f 指定备份文件的文件名
命令: restore -t -f boot.bak.bz2
作用:-t 查看模式查看备份文件中有哪些文件。
(1) 还原boot.bak.bz2分区备份,先还原完全备份的数据
命令: mkdir boot.test
命令: cd boot.test/
作用:创建一个新目录,把文件恢复到整个文件当中,一面恢复到到处都是。
命令: restore -r -f /root/boot.bak.bz2
作用:还原备份, -r 还原模式
命令: restore -r -f /root/boot.bak1.bz2
作用:恢复增量备份的数据
(1) 还原/etc/目录的备份etc.dump.bz2
命令: restore -r -f etc.dump.bz2
作用:还原etc.dump.bz2备份
(1) 把/boo/目录中内核镜像文件改个名字,现有文件跟备份文件相对比,有什么变化。