# 备份要点
对于备份来说,可能是又恨又爱的,如果备份被泄露,数据很重要的话损失也很大,对于备份使用的媒体选择也很多,功能也各有优劣,下面来讨论下
# 备份数据的考虑
系统有可能由于不预期的伤害而导致系统发生错误,比如磁盘坏掉、软件问题、人为操作不当等等原因。
造成系统损坏的问题-硬件问题
特别是磁盘了,因为数据在上面,比如使用 RAID 来进行备份,但是如果 RAID 控制芯片坏掉呢?所以还是建议在有 RAID 系统时,你的数据足够重要,还是需要进行额外的备份才好
造成系统损坏的问题-软件与人的问题
系统的软件伤害罪严重的就是属于使用者操作不当的情况了,比如执行了
rm -rf /
这种删除所有数据的指令,还有 mysql 数据库的数据,万一被损坏,而数据比如是银行的数据记录等,就很严重了主机角色不同,备份任务也不同
由于软硬件问题都可能造成系统的损坏,问题是所有主机都需要备份吗?多久备份一次呢?要备份什么数据?
早期有 ghost 单机备份软件,近期有台湾国家高速网络中心发展的再生龙(clonzilla)软件,这软件共同特性就是可以将系统上面的磁盘数据完整复制起来,变成一个大文件,你把这份文件备份到其他的 USB 等存储设备中,未来可通过该文件恢复
但是,如果你的主机有提供 Internet 方面的服务呢?比如 BBS 论坛网站,每天都有很多的信息流入,那么多久备份一次的考虑是非常重要的
备份因素考虑
由于计算机的稳定性较差(操作频率高、硬件良率差、使用者操作习惯不良等原因),所以备份越来越重要,那么一般在备份时考虑的因素有:
备份哪些文件?
哪些数据对系统或用户来说是最重要的?比如
/etc/* 与 /home/*
等选择什么备份媒介?
是可擦写光盘、一块硬盘、同一块硬盘的不同 parition、还是使用网络设备救援系统?哪一种速度最快最便宜?可将数据保存最久?这些都是可以考虑的
考虑备份的方式
是以完整备份(类似 ghost)来备份所有数据?还是使用差异备份?
备份频率
例如 mysql 数据库是否天天备份?若完整备份需要多久进行一次?
备份使用的工具
是利用 tar、cpio、dd 还是 dump 等备份工具?
下面来讨论下这些问题
# 哪些 Linux 数据具有备份的意义
通常来说是备份最重要的文件,而不是整块磁盘数据都备份,比如现在的云主机,他们提供了磁盘快照方式进行完整备份,但是对于最重要文件进行备份这种,可以降低备份设备的容量要求,那么具有备份意义的文件通常可以大概分为两大类:
- 系统基本设置信息
- 网络服务的内容数据
下面稍微分析下
# 操作系统本身需要备份的文件
主要与账户、系统配置文件有关系,账户相关文件有:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/home
用户家目录
等等。由于 Linux 预设的重要参数文件都在 /etc/
下,所以只要将此目录备份,几乎所有的配置文件都都被备份了
至于 /home
一般用户的家目录,比如邮件目录 /var/spool/mail/
,如果你曾经修改过核心,那么 /boot
里面的内容,所以这方面的数据必须备份的有:
/etc/
整个目录/home
整个目录/var/spool/mail/
/var/spool/{at|cron}
/boot/
/root/
- 如果自行安装过其他的软件,那么
/usr/loacal/
或/opt/
# 网络服务的数据库方面
这部分的数据就很多且复杂了,首先是他们的配置文件,如果是以厂提供为主,那么大多数都在 /etc
下。若是你自行安装,那么 /usr/loacal
目录就相当重要了
另外就是数据,每个软件的规定数据文件可能也不相同,假设是使用原厂 RPM 方式安装的话,需要备份的数据文件有:
- 软件本身的配置文件,例如
/etc/
整个目录,/usr/local/
整个目录 - 软件服务提供的数据,这里以 www 和 mariadb 为例。
- www :
/var/www/
或/srv/www
整个目录,以及系统的用户家目录 - Mariadb:
/var/lib/mysql
整个目录 - 其他在 Linux 主机上提供的服务数据库文件等
- www :
# 推荐需要备份的目录
由上面的介绍来看,如果你的硬件或由于经费的关系而无法备份全部数据时,建议至少备份下面这些目录:
/etc/
整个目录/home
整个目录/var/spool/mail/
、/var/spool/{at|cron}
/boot/
/var/lib/
# 不需要备份的目录
有些数据是不需要备份的,比如第 5 章文件权限与目录配置里提到的 /proc
目录的数据是目前系统上正在运行的程序。外挂的机器,如 /mnt
或 /media
里面都是挂载了其他的硬盘设备、光驱、软盘驱动等等这些数据是不需要备份的,下面列出的都是可以不备份的
/dev
/proc
、/sys
、/run
/mnt
、/media
/tmp
# 备份存储媒体的选择
# 本地备份
备份的文件选择一块硬盘,有可能被小偷偷走。。
# 异地备份系统
通过网络将数据备份到其他地方去,优点就是,只要所有备份的地方还有一个存在,数据就是安全的,
缺点则是:会耗费更多的带宽去传输数据,所以这种方式可能仅适合备份重要的数据文件
# 存储媒体的考虑
除了异地备份这种相对较为安全的备份外,其实还有磁盘、光盘等设备,近年来由于磁盘容量不断上升,便宜的桌面型 NAS 存储设备也逐渐被使用
NAS sh存储设备等于是一台小型 Linux server,可以提供定制化的服务,包括不同的连接接口与传输协议,因此,只要记得购买能够自我容错的 NAS 设备来备份就对了
在经费充足的情况下,考虑使用外接式的 NAS 设备,所谓的 NAS 其实就是一台内嵌 Linux 或 unix-like 的小型服务器,可能提供硬件或软件的磁盘阵列,让你可以架设 RAID10 或 RAID5、6 等的等级,所以 NAS 本身的数据就已经有保障。通过要备份的 Linux server 与之联机,就可以通过网络传输到 NAS 上了,之前的考虑几乎上都不再有限制,最多就是担心 NAS 的硬件坏掉
如果经费不足,那么就只能选择移动硬盘这种方式了