详解用tar备份Linux系统的方法及与Clonezilla备份的优缺点

先说说Clonezilla备份Linux系统

现在Linux系统下的备份工具极多,我这前用的是Clonezilla,但是还是有一些限制的:

  1. 它会记录你备份的分区在分区表中的归属,比如我备份的是sda6,如果我恢复到别的机器的sda7分区上,会出现错误提示,无法恢复。当然,这个可以通过把备份文件改名来避过,问题不大。
  2. 重要的问题,如果你备份的原始分区是10GB,以后恢复的目标分区是8GB,那就不能恢复,提示partclone要加上“-C”参数来跳过这个容量检查,可是,Clonezilla是一组shell文件的命令集,它是中间调用的partclone,所以,这个参数加起来很困难,至少我是没有搞定。

tar备份系统的优点

基于以上两点,我想到了用tar来备份系统,这个是从Unix时代就有的通用办法,基本上是一切通吃的,基本上的优点有以下:

  1. 避过上面Clonezilla的缺点二,不会有容量检查的问题,当然,要人为的确定恢复的时候不会出现分区空间不够的问题。
  2. 分区格式可变化,用Clonezilla的话,源分区是什么格式,目前分区就是什么格式,如果源是ext4的,突然你想把目标改成reiserfs,那是不可能的,但是用tar备份,就可以做到,因为tar本质只是打包和解包文件,并不会关注分区的文件系统的格式,当然,前提是,在解包前,目标分区你要先格式化好。

tar备份Linux系统的缺点

  1. 需要一个LiveCD,或者任一种引导到一个基本CLI模式Linux系统的方式,因为需要运行tar及对目标分区进行格式化,但这个基本上是很容易做到的,不算大问题。
  2. 速度,Clonezilla备份我的ARCH+KDE系统,大概只需要5分钟,从生成的文件看,也是一个.gz文件,但是不知道为什么,用tar备份一样的系统,要打包半个小时左右,速度差很多,但好在一般打包都是一次,解包才是多次,而解包速度tar和Clonezilla是差不多的。

下面说正题:tar备份Linux系统的方法,具体步骤如下

、引导到基本Linux系统,可用LiveCD,我个人用是grub4dos引导U盘上的archboot ISO镜像。

、将源分区挂到系统的一个目录下,一般是/mnt,至少我选的是这个。

、在/mnt下执行“;tar jcvpf backup.tar.bz2 ./ –exclude=files”,其中backup.tar.bz2是备份文件的名字,–exclude=files是要排除的文件及文件夹,要施加多次–exclude=参数,具体要排除的文件及目录如下:

  1. /mnt/*,当然,也可以直接的排除/mnt目录,这个无所谓
  2. /proc/*,这个和网上说的直接排除/proc目录不同,我试了一下,如果直接排除了目录,会影响ARCH的启动,其他发行版不知
  3. /sys/*,同上,建议把目录留下
  4. /tmp/*,这个可以直接排除/tmp目录,但是还是觉得留下目录,排除目录下的东西比较好
  5. /opt,这个直接排除目录就行了,反正如果有东西要装在/opt下,目录不存在的话,会自己创建的
  6. /media/*,这个排除目录还是目录下的内容其实无所谓
  7. /var下的一些东西,这个/var不能完全排除,但是这个目录下的一些log和缓存可以排除,具体的自己选,对于各发行版,备份前记得用各自的命令把软件包缓存清一下,不然……
  8. 备份文件本身,这个比较傻,但tar的确是这样做的,因为你备份了当前目录下的东西,而备份文件又是在当前目录下,所以,它会把自己也加进去,这个,不知道说什么好。

、解包,这个是恢复系统的时候用的,没什么好说的,简单的tar解包指令就行了,目录分区先格式化好,然后挂载到某处,直接解包就行了。

作者:Alpha—转载、复制请保留本文地址http://mtoou.info/tar-clonezille-linuxxitongbeifen/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>