搞Linux运维的小伙伴都知道,备份对于系统安全来说是多么的重要。既然那么重要,就值得我拿出很长的篇幅来讲解这个问题。好吧,我们言归正传。

对于Linux操作系统,在我们的日常工作中,如果硬件支持且经费充足的情况之下,当然我们可以选择采用完全备份的方式进行整个磁盘的备份。但是一般情况下,经费是不允许滴,这时候我们就没办法直接进行完全备份喽,那么怎么办呢?当然是备份关键数据了,诸君且听我慢慢道来!

再谈及备份方式之前,我们先来说一下究竟有哪些目录或者文件是需要我们进行备份的

① /boot 整个目录

② /etc 整个目录

③ /home 整个目录

④ /root

⑤ /usr/local(或者是/opt以及/srv等)

⑥ /var


那么当然也有不需要我们备份的目录:

① /dev 该目录主要用来存放我们的硬件设备,重装系统都一样,备份与否均可。

② /proc 该目录是记录目前系统上正在运行的程序,没什么用途,无需备份

③ /mnt与/media 挂载目录,如果你没有在里面放入与系统有关的东西,自然也不用备份

④ /tmp 该目录用于存放临时文件,当然也是不需要备份滴


备份设备的选择

如果有钱就买磁带机备份,如果经费不足就用IDE或者SATA接口的硬盘。


备份策略选择

备份策略有三种:

第一:完全备份

第二:增量备份

第三:差异备份②


下面分别解释一下这三种备份的特点:

① 完整备份

顾名思义,就是完整的备份,哈哈,我好像说了一句废话。其实很好理解,比如对整个/目录进行备份就是完整备份。

② 增量备份

如果我们周一进行了完整备份,那么周二我们只需要备份相对于周一增加的那部分数据就行了,周三则备份相对于周一和周二增加的那部分数据,以此类推,最多备份9次,这就是增量备份。

增量备份的优点是相对来说备份量大大减小,速度会快很多。缺点也很明显,就是恢复起来会很麻烦,我们需要先恢复周一的完整备份的数据,然后再恢复周二的增量部分,再恢复周三的增量部分。。。

③ 差异备份

所谓差异备份就是寻求完整备份和增量备份之间的一种平衡,相对于增量备份来说更容易恢复。

例如,周一我们进行了完整备份,那么周二我们就备份相对于原始完整备份新增的部分,周三仍然是备份相对于周一的完整备份新增的部分(也就是周二和周三的数据之和),以此类推。


注意:我们一般工作中使用最多的仍然是完整备份增量备份

下面我们来讲解一下如何进行备份:

我们备份最常用的工具就是dump

① 例如:对/boot分区进行完整备份且备份到/root目录下

dump -0uj -f /root/boot.bak.bz2 /boot

其中:

-level:0-9分别代表不同的备份级别,其中0代表完整备份,1代表第一次增量备份,以此类推。

-u:将dump的时间记录到/etc/dumpdates文件中

-v:将dump的过程显示出来

-j:将数据默认压缩为bz2格式

-f:后面接的是压缩后的文件名,自定义的

-W:查看所有分区的备份情况

Linux备份策略解析_第1张图片


② 针对单一的备份文件或者目录,则不存在所谓备份级别的问题,而只能用level 0

如:备份/etc目录到/root目录下

dump -0j -f /root/etc.dump.bz2 /etc/

Linux备份策略解析_第2张图片


哈,好牛掰,你已经学会了如何进行备份操作了。但是只是学会备份当然还是不行的,毕竟我们备份的最终目的是为了能够在出现问题的时候进行数据的恢复。那么,接下来,我传授给你们如何进行恢复的神功:

restore 【模式】 选项

模式:

-C : 比较备份文件和现行文件是否存在差异,若存在差异,则证明现行数据有问题,考虑恢复

-t : 查看备份文件中包含哪些数据

-r : 还原备份文件

选项:

-f : 后面跟上备份文件名


例:还原备份文件/root/boot.bak.bz2

第一步:mkdir bootbak

第二步:cd bootbak

第三步:restore -r -f /root/boot.bak.bz2

Linux备份策略解析_第3张图片

注意:如果是增量备份,还要继续恢复增量部分!