Linux 系统备份与恢复的几种方式简单分析
Linux的备份是运维工作中重要的一环,记得有一个事例,一个开发误删了数据库,运维无奈的去找备份文件,这时候一个好事和一个坏事发生在他身上了,好的事情是备份文件在,坏的事情是备份文件容量是零,也就是说,他通过脚本生成的备份文件光有一个名字,实际上并没有备份上。后来,这哥们很惨,结局大家都懂得(绝对不是我,声明下)。
根据数据的珍贵程度,我们来制定相应的备份策略,很简单,越珍贵的数据越高频次的备份,并且多种形式的备份,比如,远程存放备份,独立冷热备份,使用专业的备份软件,建立容灾备份,等等各种形式。
现在讨论一下对 数据安全不是非常敏感的常规备份方式,大体上有以下几种:
一。 tar命令备份
tar命令是Linux自带的命令,通常用在解压缩和压缩,该命令比较灵活,功能强大,使用范围广,可以备份单个或数个文件夹,也可以选择备份文件夹内的内容,也可以进行全盘备份,但一般不是推荐这样使用、
tar -jcvf [生成的压缩文件完整路径] 【需要压缩的文件或文件夹】 其中的 j 可以更换成 z ,j指的是 .bz2 后缀格式的文件, z 指的是 .gz 后缀格式的文件, 这是压缩的动作。
tar -xjvf 【压缩的文件】 -C [要解压缩到的文件夹路径] 这是解压缩的动作
例子1:
tar -jcvf /mnt/sdb1/back_etc.tar.bz2 /etc
#在/mnt/sdb1这个目录下生成一个文件名称为back_etc 的文件,该文件压缩的是 /etc目录
tar -xjvf /mnt/sdb1/back_etc.tar.bz2 -C /opt/aa/
#将上面生成的文件解压到/opt/aa/这个目录下
二 、xfs文件系统的备份 xfsdump命令
该命令从名字看也可以知道是xfs文件系统专用命令,别的文件系统不用想,不支持,这是一个大的缺点,只支持单个文件或者单独分区的备份,优点是备份速度快,支持增量备份。
使用xfsdump时有以下几个限制:
1.xfsdump不支持没有挂载的文件系统备份!
2.xfsdump必须使用root权限才能操作(涉及文件系统的关系)
3.xfsdump只能备份xfs文件系统
4.xfsdump备份下来的数据(档案或存储媒体)只能让xfsrestore解析
5.xfsdump是通过文件系统的UUID来分辨系统各个备份档的,因此不能备份两个具有相同UUID的文件系
该命令的用法:xfsdump -f [备份的文件存放位置] 【要备份的分区】 -L 该次备份的会话标签(其实可以随便写) -M 该次备份指定的设备标签(其实可以随便写)
xfsdump -f/opt/back_all /dev/sda2 -L sda2_back -M sda2
#-L和-M后面其实随便写的,尽量规范书写
三。最为简单粗暴的dd命令(慎用)
dd if=/dev/sr0 of=/mnt/sdb1/cdrom_backup bs=10M count=10
挂载的光驱写入到/mnt/sdb1/下的cdrom_backup文件中,每次10M大小,10块的速度写入