【问题标题】:How to schedule backups for development, testing, and production environments?如何为开发、测试和生产环境安排备份?
【发布时间】:2015-12-08 20:20:19
【问题描述】:

我正在对自己进行有关网站启动的教育。我正在阅读this 文档以准备实现check-list 以用于我未来的网站发布。

在第 11 页,他们提到了

为开发、测试和生产环境安排备份

我可以想象备份数据库和网站代码。

某人如何自动和安排备份整个 x、y 或 z 环境

如果这是一个非常广泛的问题,那么我不需要分步文档来执行此操作。也许一些起点可以帮助我想象这已经足够好了。

更新:

我已向Pantheon 发送询问,期待他们的回复。

【问题讨论】:

    标签: installation backup environment launch devops


    【解决方案1】:

    这完全取决于您如何设置环境、环境的复杂程度以及您要备份的内容。

    您的环境多久变化一次?

    您可以使用 Docker 之类的东西来跟踪环境的变化。它基本上为您提供了环境的版本控制。

    如果您使用的是 DigitalOcean 之类的托管服务提供商,他们会提供 snapshots and backups of entire virtual images

    了解 rsync - https://wiki.archlinux.org/index.php/Full_system_backup_with_rsync

    如果您手动跟踪所有配置文件并自己处理调度和同步,则可以使用 rsync。

    至于实际站点:

    您的网站发生了哪些变化?

    对于网站代码的更改,您应该使用version control,以便将每个更改都备份到像Github 这样的存储库中。

    但在大多数情况下,唯一发生变化的是数据库中的数据。您的数据库可以由提供自动备份的第三方(如 Amazon RDS)轻松管理。如果您想在自己的服务器上管理自己的数据库,那么您可以使用cron job 在预定时间自动执行数据库备份。然后,您可以使用 rsync 将该备份同步到另一台机器。 (您希望将备份分布在不同位置的几台机器上)

    【讨论】:

    • 谢谢@EricIlhi - Docker 看起来接近我试图理解的内容。 GitHub 本身不是版本控制系统吗?
    • Github 只是一个存储库。它是一个服务器。他们托管一个 Git (git-scm.com) 服务器。你可以在你的学校、家里、任何地方托管一个 Git 服务器。然后,使用 Git,您可以将代码从任何地方推送到该服务器,然后从该服务器下拉到任何地方。
    【解决方案2】:

    您可以定期运行 cron 作业来备份您的数据。最重要的数据可能是您的交易信息或整个数据库本身。

    代码,您可以在开发人员端使用 github 进行管理。但是,如果您有某些由网站用户填充的文件夹,那么也要计划备份这些文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-23
      相关资源
      最近更新 更多