用Tar备份Linux系统


  “那我该用什么来备份我的系统呢?”也许你会问。小事一桩,就像你备份或压缩一个别的文件一样,TAR。不像Windows,Linux不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中。

  来实施这一方法,用这个成为根用户:

  sudo su

  接着去你的文件系统的根目录(在我们的例子中,我们使用它,不过你可以去你希望备份的任何地方,包括远程或可移动驱动器。)

  cd /

  然后,下面就是我用来备份我的系统的完整的命令:

  tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys

  接着,让我们稍微解释一下:

  * 很明显,'tar'部分就是我们将要使用的软件。

  * 'cvpfz'是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小)。

  * 接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz。

  * 紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/

  * 接着就是我们要剔除的目录了。我们不想备份每一样东西,因为包括有些目录不是非常有用。同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结果的。你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的。同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质)。否则,剔除/media。

  如果你想排除所有的其他分区,你可以使用 'l' 参数代替 --exclude, 上面的命令看起来象这样:

  tar cvpzlf backup.tgz / --exclude=/lost+found --exclude=/backup.tgz

  按:kvidell在论坛主题里建议也剔除/dev目录。不过,我有其他证据表明这样做是不明智的。

  好了,如果命令适合你的话,敲击确定键(或者回车键,管它叫什么名字),然后什么都不用干,放松一下。备份也许会花上一段时间。

  完了以后,在你的文件系统的根目录会有一个叫作backup.tgz的文件——很可能相当巨大。现在你可以把烧录到DVD上,或者移动到另一台机器,你可以做任何你想做的事情。

  按2:在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它。

  作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”, 同时给备份命一个相应的扩展名。这些会使命令变成这样:

  tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys

  • 1
  • 2
  • 3
  • 下一页

相关内容