每日增量备份+每周完整备份

我有一台装有CentOS 5.6的服务器,上面有SVN,我想每天进行一次增量备份,每周进行一次完整的备份。 我需要将其备份到将连接到服务器的外部硬盘上。

我尝试过使用rsync提供的由Mike Rubel提供的示例,但实际上并没有进行增量备份 – 它正在进行完整备份。 不幸的是,我不太熟悉bash脚本:/

任何帮助表示赞赏

备份有两个原因:

  1. 灾难恢复(重大硬件故障,自然灾害等)
  2. 哦,@!#%,我需要那个文件,就像昨天一样。

根据定义,定期向SVN提交将负责处理原因2.如果删除或覆盖了一个关键文件,只需将旧版本从存储库中取出即可。

这留下了理由1.只要你有你的存储库良好的非现场副本,你应该设置。 每天制作完整的副本,定期检查复制的存储库,然后设置好。

如果是我,我会确定我的存储库使用了FSFS后端(显然这是从1.2开始的默认设置,但是当我启动时就不是这样)。 这会将你的版本库保存在文件系统的常规文件中,你可以使用rsync, svnadmin hotcopy ( 这里是示例脚本 )或其他任何你想要的工具来备份它们。

每天rsync你的SVN仓库将为你提供一个“当前最新”的仓库备份。
第一个rsync是一个完整的备份,意思是每个文件都被拷贝过来。
随后的rsync是“增量备份”,因为同步algorithm可以确保只发送更改,但在恢复方面不会增加(您将无法恢复上个星期三的存储库 – 你的rsync目标版本是你的版本)。

在你的情况下,如果你所关心的是保持良好的版本库rsync可能就足够了。 如果您需要能够恢复到特定的一天的粒度,您应该研究像Bacula或某种其他types的备份软件解决scheme的解决scheme,专门用于备份数据的任务。
备份软件具有灵活的调度选项。
像Bacula这样的软件的另一个主要优点就是可以用它来备份其他东西(比如所有的生产服务器)。 在你第一次灾难性的硬件故障之后,当你能够从备份中恢复所有的数据时,这似乎显得更为重要:-)


最终,你需要考虑你的目标是做出备份(特别是: 你想要恢复什么?以及需要多less工作来重build你不能恢复的东西? ),然后相应地select一个备份策略。

我发现这个链接对于周末的增量备份和完整备份非常有用。

https://www.centos.org/forums/viewtopic.php?t=14960