备份整个Linux环境

目前我正在设置和使用我的新Linux机器。 作为这些东西的新手,我没有问题,但是一个小小的错误可能会给我带来麻烦。 我目前已经有Apache和其他一些成功的安装和工作,我希望他们如何,我真的不希望能够搞砸了环境。

备份实际环境本身的最简单方法是什么,以便我可以恢复备份副本(使用Apache等完全正常工作),我需要吗?

所以有两件事,

  1. 备份您的数据和configuration文件
  2. 写下/logging你用来build立环境的命令和原因

对于第一,有几个选项,其中之一亚历克斯已经提到。 rsync是一个不错的方法,并且我将我的Linux VPS上的所有东西都关注到家里的Linux机器上。

但是对于我来说,你也不能击败#2,这就是为什么。 如果你不记得为什么会这样,那么configuration文件就没有帮助。

有时候我会争取很多时间让Exim做一件小事,在一个configuration文件中改变400行,然后忘掉它。

即使我没有从备份中恢复服务器,我也可能想在稍后再构build另一台服务器,并且做同样的事情,但突然间我不记得如何,也不一定会逐字复制configuration文件。

所以,当你build立和configuration你的服务器时,

  1. 记下你运行的每个命令(即apt-get,yum,dpkg –reconfigure exim4-config等)
  2. 记下你所做的configuration更改以及为什么(即将这4行添加到/etc/apache2/apache2.conf,因为我需要X和Y)

在添加软件包或更改configuration文件时,将生成的文档保持最新,如果您需要从头开始构build新的服务器,则很容易。

我运行一个新闻(Usenet)服务器,基本上有一个文档描述了如何从裸露的Debian Squeeze到完全正常的新闻服务器。 如果我失去了一切,我可以在2个小时内重build(显然,没有数据,但完整的configuration)。 我的networking服务器也一样,我知道我对Apache做了哪些修改,为什么安装perl和php模块以及为什么等等。

这样你就可以专注于备份你的数据和configuration,但是你永远不需要把configuration恢复到一个新的盒子(我认为可能是由于潜在的软件/发行版的变化而有风险),而是可以按照你的构build工作表,然后恢复您的数据。

  • rsync的数据和configuration
  • 上面的configuration文件

我通常使用etckeeper来备份/etcconfiguration文件(实际上是为了修改它们),我将其设置为每20分钟执行一次提交,BackupPC用于备份其他所有内容。 BackupPC可能是一个矫枉过正的情况,所以我build议你使用rsync -a到其他主机。

如果你想备份整个环境,无论是下载到本地虚拟机还是放在专用的服务器上,使用tar都可以轻松完成。

这里有一个很好的指导, http://ubuntuforums.org/showthread.php?t=35087

备份

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

恢复

 tar xvpfz backup.tgz -C /