2

我正在做一个 webapp,需要一个备份计划。这是我到目前为止所得到的:

  • 将 SQL 数据库每晚加密备份到 Amazon S3 和我的外部驱动器(如果可能,增量备份,对 PostgreSQL 还不太熟悉,但那是另一个线程)
  • 每晚将我的 Mercurial 存储库(包括 Apache 配置、部署脚本等)备份到 S3(通过 Time Machine 进行本地备份)

我应该添加其他任何内容,还是会涵盖它?为了衡量数据的重要性/将是多么重要,它是一个类似于 Basecamp 的项目管理应用程序。

4

3 回答 3

3

每周对您的数据库进行完整备份以及每晚进行增量备份吗?

这意味着如果您的一个旧增量备份损坏,那么您丢失的数据不到一周。

此外,请确保您有一个备份测试计划,以确保您的备份正常工作。有很多关于这方面的恐怖故事,来自那些多年来一直在做备份的公司,从未测试过它们,然后在需要它们时发现它们都没有任何用处。(我也曾在这样的公司工作过。谢天谢地,我发现备份在需要并解决问题之前无法正常工作)。

于 2008-09-29T15:34:45.637 回答
2

过去对我有用的最佳策略之一是让“备份”过程与安装过程相同,即我们在 linux 中完全编写了服务器配置、应用程序创建、数据库设置等脚本,因此安装看起来像:

./install.sh [服务器] [应用程序名称] 和备份/恢复 ./install [服务器] [应用程序名称] -database [数据库备份文件]

在备份方面,数据库完全备份(MySQL 数据库),由 cronjob

这几乎确保了每次部署新实例时都会测试恢复,并且脚本最终也被用于在需要更换硬件或给定服务器从客户那里获得过多负载时移动实例。

这是我几年前工作的一个 Saas 企业应用程序的设置,因此我们可以完全控制服务器。

于 2008-09-29T15:52:23.707 回答
0

如果您可以从增量备份更改为差异备份,我会的。如果您有增量备份,则必须应用每周完整备份,然后再应用每个增量备份。如果您的一个增量在本周早些时候失败,那么您所有后续备份也将失败。

但是,如果您使用差异,则每个差异都包含自上次备份以来的所有更改。因此,即使其中一个备份在本周早些时候失败,如果您最近的备份成功,您仍然可以完全恢复。

我希望我能很好地解释这一点!

:)

于 2009-03-01T19:23:07.707 回答