logo

数据库备份

概述

Forge 支持自动数据库备份,可以直接从服务器的 Forge 仪表板进行计划。您可以选择以指定频率备份一个或多个数据库,并恢复任何最近的备份。Forge 使用的备份脚本是开源的,可以在 GitHub 上找到

仅限商业计划

数据库备份仅在我们的“商业”计划中提供。

创建备份配置

存储提供商

您可以选择将数据库备份到

  1. Amazon S3
  2. DigitalOcean Spaces
  3. Scaleway
  4. OVH Cloud
  5. 自定义(S3 兼容)

对于 Amazon S3、DigitalOcean Spaces、Scaleway 和 OVH Cloud 存储提供商,您需要向 Forge 提供

  • 备份应存储的区域(eu-west-2nyc3 等)
  • 存储“桶”的名称
  • 用于连接到存储服务的访问/密钥

当将 Amazon S3 与 EC2 服务器结合使用时,您可以选择使用 EC2 服务器的身份将备份流式传输到 S3,而无需提供凭据。在这种情况下,您只需要选中“使用 EC2 假设角色”复选框。

AWS IAM 权限

当使用 Amazon S3 存储数据库备份时,您的 AWS IAM 用户必须对 S3 具有以下权限

  • s3:PutObject
  • s3:GetObject
  • s3:ListBucket
  • s3:DeleteObject

当使用自定义的 S3 兼容提供商时,您必须提供

  • 服务端点/URL
  • 存储“桶”的名称
  • 用于连接到存储服务的访问/密钥

您还可以选择提供一个存储目录,备份将相对于您的桶根目录恢复到该目录。如果留空,备份将存储在您的桶的根目录中。

提供商兼容性

并非所有提供商都与 Amazon S3 的 API 100% 兼容。一些提供商,例如 OVH 和 Scaleway,需要自定义配置才能正常工作,通常通过使用 awscli-plugin-endpoint 来实现。

频率选项

在 Forge 数据库备份仪表板中,您可以选择数据库备份的频率。

  • 每小时
  • 每天(在指定时间)
  • 每周(在指定日期和时间)
  • 自定义

使用 API 创建 **每日** 或 **每周** 备份时,您可以为您的计划提供任何有效时间(例如 13:37);但是,为了简单起见,Forge UI 允许您选择 30 分钟间隔的时间。您选择的时间应为您的 Web 浏览器报告的本地时间。

**自定义** 选项允许您提供自定义 cron 表达式。您可能希望使用诸如 crontab.guru 之类的服务来帮助您生成它。

备份保留

Forge 会自动为您修剪旧备份。例如,如果您已配置“五”的备份保留率,则仅存储最后五个备份在您的存储提供商中。

备份失败通知

您可以提供一个电子邮件地址,以便在备份失败时收到通知。如果您需要通知多个人,您应该创建一个分发列表,例如 [email protected]

Forge 还将在 Forge 服务器管理仪表板的 **备份** 面板中显示失败的备份。

管理备份

编辑备份

可以通过 Forge UI 编辑现有的备份配置。默认情况下,配置详细信息被锁定以防止意外编辑。您可以单击 **编辑** 按钮来解锁编辑。

更改应备份的数据库时,Forge 会要求您确认这是一个预期更改。这是为了防止在数据库不再是备份配置的一部分时发生任何未来的数据丢失。

删除备份配置

您可以通过单击服务器 **备份** 仪表板的 **备份配置** 部分中您选择的备份配置旁边的 **删除** 按钮来删除备份配置。

备份存档

删除备份配置时,您的备份存档 **不会从云存储中删除**。如果您愿意,您可以手动删除它们。

恢复备份

您可以通过**最近备份**部分将备份恢复到您的数据库。单击您选择的备份旁边的**恢复**按钮。备份将恢复到创建它们的数据库。如果备份配置包含多个数据库,系统将要求您选择要恢复的数据库。

如果您需要将备份恢复到其他服务器或数据库,您可以从云存储提供商下载备份存档,并使用数据库管理工具(例如 TablePlus)进行恢复。

删除备份

如果您需要删除单个备份,您可以单击备份旁边的删除按钮。

删除备份

删除备份时,您的备份存档将**从您的云存储提供商中删除**。删除备份时请谨慎操作。

备份输出

每个备份过程都会创建自己的日志,以便您在发生故障时检查数据库备份过程的输出。您可以通过单击备份旁边的“眼睛”图标来查看备份的输出。

圈子权限

管理数据库备份的能力分为两个权限。

  • server:create-backups
  • server:delete-backups