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

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

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

我理解,对于应用程序和数据部分,它非常特定于我的 Web 服务,因此我不会在这里详细介绍。但如果能提供一般性的答案,假设您了解 Ubuntu 上的 LAMP 等基础知识,我将不胜感激。

我目前正在做以下事情 -

  1. Hetzner 提供支援
  2. 每日将 SQL 转储到远程驱动器(并复制到至少 2 个独立位置)

我还应该考虑什么?

谢谢。

答案1

这一切都取决于您的数据有多珍贵以及您愿意在备份上花多少钱。一些随机想法:

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

答案2

我对 pQd 的回答唯一能补充的是:保留异地备份。如果 Hetzner 倒闭或破产,你会很高兴有这些备份。

相关内容