运行linux和windows的机器的备份

我有一个关于备份的问题。 我有一个networking(构build使用无线150Mbps和千兆以太网)至less有3台计算机(加上可能远程2)。

我有一个计划,build立一个Linux服务器{非常强大}这将做(非常):

  • 媒体中心(录制/播放)
  • FTP服务器在我的networking上提供文件
  • 其他服务器开发应用程序(MySQL,Apache,…)
  • BACKUPS

关于BACKUPS方面,要备份的机器正在运行:

  • 3 x Linux> = 2.6.30(Gentoo和Archlinux
  • 1个Windows XP 32位
  • 3个Windows 7 64位
  • 1个Windows 7 32位

备份可能会使用smb文件共享{我现在还不是很幸运} / rsync / svn / tar /或者其他任何你可能会build议的组合。 function性(按优先顺序排列):

  • 修订版本(SVN风格):每次修改文件时都必须进行备份(在服务器上可以存在同一文件的多个版本,实际上它们必须)
  • 可伸缩性:如果我将USB驱动器连接到计算机,我希望它的数据也被备份(好吧…在Linux上可能很容易,只需备份所有/媒体/除了CD和DVD,但对于Windows? )
  • 接近实时(最多5分钟)的文件备份:我失去了乳胶报告,很难从头开始重build
  • 无复制:例如,如果我从2台不同的计算机备份USB的磁盘内容,我不希望数据备份两次(最糟糕的情况下是符号链接而不是硬拷贝)
  • 手动还原/自动还原:对我来说也是一样的(简直不像下面描述的那样)
  • 我不想在1000个文件夹中find每次只有10个文件的相同的目录结构(我更喜欢在ONE目录中查找文件系统结构中的所有最新文件,例如/ media / BACKUPS / PC01 / home // …)
  • 也许能够从备份中删除/排除大文件
  • 好日志

服务器规格:

  • 2 x 2TB的硬盘空间用于备份(实际上1用于备份,另一个将rsynced从第一个{我不喜欢RAID 1},以防万一…)
  • 4至8GB内存DDR3
  • 至less4个内核(AMD Athalon II x4 640 @ 3.0 GHz) – 稍后可以升级到推土机

我已经考虑过了(如果你指出一些有趣的特征,可以再考虑一下):

  • backuppc的
  • Rsync(问题:没有文件版本控制,Windows客户端可能是越野车)
  • SVN(问题:2 x开销 – 文件被复制两次,因此2 x文件磁盘使用)
  • 阿曼达备份/ Bacula(不是真的明白他们能做什么,不能做什么)

我知道在服务器端有一些BASH和Python编程。 我甚至可能最终使用apache / php / MySQL编写一个web界面。 所有我需要知道的是用来实现这一点的最好的组件(即服务器上的哪个备份软件,哪个协议,哪个客户端,哪个特性相应地实现)。

你可以用Bacula / Amanda做得很好。 打你的要求:

Revisions (SVN-style): a file has to be backed up each time it gets modified (and multiples versions of the same file can exist on the server, in fact they must)
Bacula和Amanda每次更改都会抓取一个文件。

Scalability: if I attach an USB drive to the computer, I want it's data to be backed up as well (well... That on linux might be quite easy, simply backup all /media/ except cds and dvds, but for windows?)
在Unix上还不错(只需备份/下的所有内容即可),但在Windows上可能不行 – 我相信你需要指定要抓取的驱动器,因为文件系统不是特定的根目录(每个驱动器都有一个根目录)。
也就是说,这可能不是一个好主意(如果你将一个完整的1TB硬盘连接到正在备份的计算机上,你的备份就会膨胀)。

Near real-time (~ 5 minutes at max) file backup: I lost a latex report and was hard to reconstruct it from scratch
没有发生 – 你可以指定一个5分钟的备份窗口,但是你的日志将被填满,因为已经有重复的运行被杀死。
您可以安排夜间备份,甚至每12小时不会有太多麻烦。
(即使苹果公司的Time Machine也只是每小时进行一次备份……想想最大的文件可能会改变,必须通过networking来推动…)

No-Duplication: for instance if I backup the USB's disk content from 2 different computers, I do not want the data to be backed up twice (symlink instead of hard copy in worst case)
Bacula目前没有重复数据删除function。 不知道阿曼达。

Manual restore / automatic restore: it's the same for me (simply not like described here below)恢复是(也应该是)一个手动过程。 我不知道“自动恢复”会是什么样子(备份服务器自行决定恢复文件吗?:)

Maybe ability to remove / exclude large files from backups
您可以在Bacula中包含或排除文件系统的特定部分(直至文件级粒度)。

Good logs
数据库支持的作业和结果列表,能够在发生错误时写入日志文件,电子邮件等。


BackupPC也可以达到这些要求(不确定 – 没有使用它) – 其他商业备份解决scheme几乎肯定也可以。
你可能也想考虑tarsnap ,虽然我不确定Windows的支持如何。

修订版本(SVN风格):每次修改文件都必须备份(服务器上可能存在同一文件的多个版本,实际上它们必须)

什么是有问题的文件? 他们是用户的数据文件还是系统configuration文件? 对于前者,Dropbox( 带推荐 ,或不带 )。 我看到的唯一的另一种select是推出自己的类似Dropbox的服务 。 对于后者,考虑转移到像Puppet这样的configurationpipe理系统,把系统的文件放到你喜欢的版本控制的存储库中,然后备份你喜欢的版本库。

定期备份系统只会在运行时抓取文件(每天,每天多次),而不是每当它们改变时。

近实时(最多5分钟)的文件备份:我失去了乳胶报告,很难从头开始重build

Dropbox或类似的。 没有其他的select,我可以看到: 在这里输入图像说明

无复制:例如,如果我从2台不同的计算机上备份USB的磁盘内容,我不希望数据备份两次(在最坏的情况下是符号链接而不是硬拷贝)

Backuppc可以做重复数据删除。 据我所知,阿曼达不能。 但是,根据你想避免重复的内容,可能有另外一条路线。 例如,如果我在工作中备份了所有的计算节点,就会有大量的重复。 但我根本不支持它们 – 我可以在一个小时内从头开始重新构build一个Debian无人值守安装function和Puppet组合。

我不想在1000个文件夹中find每次只有10个文件的相同的目录结构(我更喜欢在ONE目录中查找文件系统结构中的所有最新文件,例如/ media / BACKUPS / PC01 / home // …)

至less,阿曼达不是像rsync一样构build的。 它会定期将卷(分区或文件夹)备份到备份文件中。 您可以使用amrecover浏览备份,并恢复所需的任何文件。 但是,每个卷的备份文件都存储在转储文件,tar文件或类似文件中。


你的问题有很多空间可供进一步澄清。 我要问的主要问题是:

  1. 这是用于灾难恢复还是长期存档的备份?
  2. 你在备份什么,为什么?
  3. 你愿意付出多less努力,你还能没有什么生活? 如果成功的最低标准是“对每个操作系统上每个计算机上的每个驱动器上的每个文件进行一次实时备份,包括如果我在Windows上连接和断开可移动驱动器”,则可能会感到失望。