为 Web 应用程序备份生产环境的最佳做法是什么?

Abh*_*hic 1 mysql ubuntu backup cloud php

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

我知道对于应用程序和数据部分,它非常特定于我的 Web 服务,因此我不会在这里详细介绍。但真的很感谢假设像 Ubuntu 上的 LAMP 这样的基础知识的一般答案。

我目前正在做以下事情 -

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

我还应该考虑什么?

谢谢你。

pQd*_*pQd 7

这完全取决于您的数据有多珍贵以及您可以在备份上花费多少。一些随意的想法:

  • 监视您的备份 - 如果备份期间的任何命令失败,请制作警报系统通知您 [您可以使用陷阱]
  • 不时验证您的备份 - 例如每季度在测试站点上恢复
  • 如果可能,尽量保持备份离线或至少使用拉取方法不推送 [备份主机登录到您的生产服务器进行备份,而不是相反] - 这样即使您的服务器受到威胁并且恶意攻击者将其清除她将无法删除您的备份。
  • 确保您的备份安全......理想情况下 - 我有无法从互联网访问的主机 [例如防火墙或 nat 或两者后面的计算机] 启动所有备份程序,提取您的所有数据,备份主机的 truecrypt 等文件系统级加密不会要么伤害
  • 保留一些过去的备份 - 您可以将完整转储压缩到单独的存档中并轮换它们,例如每月或利用rdiff-backup 之类的工具。万一你搞砸了,几天后才注意到它,它可以救你一命。
  • 你的网站有多忙?如果对 sql 有大量更新/插入 - 考虑让 mysql 复制从属服务器打开所有主查询的二进制日志记录。通过这种方式,您将能够恢复 [至少 sql 内容] 直到崩溃前的那一刻。
  • 检查备份是否严重影响您站点的性能,如果需要,请使用一些限制 [ionice,rsync 或xtrabackup 的速率限制]。