备份Web应用程序的生产环境的最佳实践是什么?

我在hetzner上运行了2个盒子,希望找出备份应用程序数据实时环境的最佳方法

我明白,对于应用程序和数据部分,它非常具体到我的Web服务,所以我不打算在这里进行太多的细节。 但是,如果假设像Ubuntu上的LAMP这样的基础知识,我们将非常感激。

我目前正在做以下 –

  1. Hetzner提供备份
  2. 每日SQL转储到远程驱动器(并复制到至less2个单独的位置)

还有什么我应该考虑的?

谢谢。

这一切都取决于您的数据是多么珍贵,您可以花多less钱在备份上。 几个随意的想法:

  • 监视备份 – 使警报系统通知您,如果备份过程中有任何命令失败[可以使用陷阱 ]
  • 不时validation备份 – 例如每季度在testing站点上恢复
  • 如果可能的话,尝试保持备份离线或至less使用拉方法不推送[备份主机日志到您的生产服务器采取备份,而不是其他方式] – 在这种方式,即使您的服务器被攻破,恶意攻击者抹去了她将无法删除您的备份。
  • 保持你的备份安全…理想情况下 – 我会有主机不能从互联网访问[例如计算机后面的防火墙或NAT或两者]启动所有的备份程序拉动所有的数据,文件系统级encryption,如truecrypt为备份主机不伤害要么
  • 保留过去的备份 – 您可以将完整的转储压缩到单独的存档中,并按月进行轮换,或者利用rdiff-backup之类的工具。 万一你把事情搞砸了,几天之后才能注意到它可以成为救命稻草。
  • 你的网站有多忙? 如果有足够的更新/插入的SQL – 考虑让MySQL复制从属二进制logging的所有主查询打开它。 通过这种方式,您将能够在崩溃前恢复[至lesssql内容]。
  • 检查备份是否会影响站点的糟糕性能,如果需要的话使用一些限制[ionice,rsync或xtrabackup的速率限制]。

我唯一可以添加到pQd的答案:保持异地备份。 如果赫茨纳曾经倒下或破产,你会很高兴你有他们。