运维数据管理备份与还原

备份与还原

Zeabur 在 Dev Plan 等付费方案中,提供了 异地备份 的功能——您的备份会被安全、限时存储到我们位于 Amazon S3 的存储空间上,不会占用您现有主机的空间,并且不会额外收费。

对于数据库服务,Zeabur 支持在线备份和自动备份,让您的数据库可以不停机备份;对于其他 有状态 的服务,我们也提供暂停后离线异地备份的功能。

备份服务

离线异地备份

💡

如果您没有挂载 持久存储空间,就不会显示备份功能。「备份」也只会备份「持久存储空间」内的数据,其余服务中的文件(如源代码)不会跟着备份。

首先您需要先暂停服务。点选服务的「设置」→「暂停服务」,即可暂停服务运行。注意暂停不会造成数据丢失。

接着,点选您服务的「备份」分页,您会看到「备份」按钮。

backup tab

点下去后,Zeabur 会在后台自动备份,您可以稍待几分钟。备份完成后,您会看到下载按钮,点选即可下载备份文件。备份文件的内容,就是您服务挂载的「持久存储空间」所在文件夹的完整内容。

backup success

备份完成后,您可以到「服务状态」点选「重新启动服务」,让您的服务恢复运行。

在线异地备份

Zeabur 支持不限于 PostgreSQL、MySQL、MariaDB、MongoDB 等数据库的在线异地备份,不需要您暂停服务即可进行安全备份。另外「在线异地备份」的服务也会支持自动备份。

online backup

和「离线异地备份」相似,点选「备份」按钮后,Zeabur 会在后台自动备份,您可以稍待几分钟。备份完成后,也会看到下载按钮,点选即可下载备份文件。

备份文件的内容,会是数据库的标准转储文件(以 PostgreSQL、MySQL 来说,是 .sql 文件;以 MongoDB 来说,是各种 .bson 文件)。这些备份文件日后可以用数据库内建的还原工具(如 psqlmongoimport)等工具来还原。

自动备份

Zeabur 也支持自动备份,目前支持每日固定时段备份。

auto backup

打开「自动备份」后,您可以设定备份的 UTC 时段。通常来讲,选择您服务人流最低的时段进行备份,会是比较好的。您可以参考旁边的「At your local time」看看这个 UTC 时段是对应到您当地的几点。

备份保留时间和 API 取回方式

Zeabur 只保留您备份 7 天时间,超过这个时间的备份会自动删除。如果您需要长时间存储备份,请自行下载备份文件后,存储到其他地方。

目前 Zeabur 尚未支持备份到您自己的 Amazon S3 存储空间,但您可以编写一个程序,通过调用 Zeabur 开放 API 来取回备份并存储到您自己的任意存储空间:

query Backups($environmentId: ObjectID!, $serviceId: ObjectID!) {
  backups(environmentID: $environmentId, serviceID: $serviceId) {
    createdAt
    downloadURL
    status
  }
}

返回格式示例:

{
  "data": {
    "backups": [
      {
        "createdAt": "2025-06-23T16:00:10.864Z",
        "downloadURL": "https://backup.zeabur.com/XXXXXX",
        "status": "SUCCESS"
      }
    ]
  }
}

您可以将其中的备份文件下载链接 (downloadURL) 搭配备份时间 (createdAt) 来贮存备份文件。

还原备份

这里会提供或简述各种服务的数据还原方式。

数据库

PostgreSQL

参见 PostgreSQL 服务模板页面 的「还原备份」章节。

MySQL 和 MariaDB

参见 MySQL 服务模板页面MariaDB 服务模板页面 的「还原备份」章节。

Redis

可以使用 Redis 的 RESTORE 指令 来还原备份。

展开 Redis 服务「Command to connect to your Redis」的字符串,您会看到类似这种内容:

redis-cli -h <host> -p <port> -a <password>

将上面的 <host><port><password> 放入以下的指令当中即可:

cat /path/to/backup.rdb | redis-cli -h <host> -p <port> -a <password> -x RESTORE <key> 0

MongoDB

展开 MongoDB 服务「Command to connect to your MongoDB」的字符串,您会看到类似这种内容:

mongosh "<连接字符串>"

<连接字符串> 复制到终端中,然后执行 mongorestore 命令来还原备份:

mongorestore "<连接字符串>" "<备份目录>"

硬盘内容

如果您要还原 持久存储空间 内的数据,您可以参考 文件管理 的方式,将备份文件上传至目标目录并解压缩。