获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

自动备份

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Blaze计划用户可以将他们的 Firebase 实时数据库设置为自动备份,这是一项自助服务功能,可以每天将您的数据库应用程序数据和 JSON 格式的规则备份到Cloud Storage 存储分区。

设置

要开始使用,请访问 Firebase 控制台“数据库”部分中的“备份”选项卡,该向导将指导您设置自动备份。

为了节省存储成本,我们默认启用Gzip压缩,您可以选择在存储桶上启用30 天生命周期策略,以自动删除超过 30 天的备份。

您可以直接在 Firebase 控制台中查看状态和备份活动,也可以在其中启动手动备份。这对于在执行任何代码更改之前拍摄特定的定时快照或作为安全操作很有用。

设置完成后,将使用 Firebase 的WRITER 权限为您创建一个新的 Cloud Storage 存储分区。您不应该将数据存储在您不喜欢 Firebase 访问的存储桶中。 Firebase 将无法访问您的其他 Cloud Storage 存储分区或 Google Cloud 的任何其他区域。

从备份恢复

要从备份中恢复 Firebase,请先将文件从 Cloud Storage 下载到本地磁盘。这可以通过在备份活动部分或 Cloud Storage 存储分区界面中单击文件名来完成。如果文件是 Gzip 压缩文件,请先解压缩文件。

有两种方法可以导入数据:

方法 1:单击Database's Data 部分中的 Import JSON 按钮并选择您的应用程序数据 JSON 文件。

方法 2:您也可以从命令行发出 CURL 请求。

首先从您的 Firebase 中检索一个秘密,您可以通过访问数据库设置页面获取该秘密。

然后在终端中输入以下内容,将DATABASE_NAMESECRET字段替换为您自己的值:

curl 'https://<DATABASE_NAME>.firebaseio.com/.json?auth=<SECRET>&print=silent' -x PUT -d @<DATABASE_NAME>.json

如果您在从非常大的数据库恢复备份时遇到问题,请联系我们的支持团队

调度

您的数据库备份每天被分配到一个特定的时间,以确保所有备份客户的负载均衡和最高可用性。无论您是否全天进行任何手动备份,都会发生此计划备份。

文件命名

传输到您的 Cloud Storage 存储分区的文件将带有时间戳(ISO 8601 标准)并使用以下命名约定:

  • 数据库数据: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_data.json
  • 数据库规则: YYYY-MM-DDTHH:MM:SSZ_<DATABASE_NAME>_rules.json

如果启用了Gzip ,则.gz后缀将附加到文件名中。您可以使用 Cloud Storage 前缀搜索轻松找到特定日期或时间的备份。

Gzip 压缩

默认情况下,我们使用 Gzip 压缩来压缩您的备份文件,以节省存储成本并减少传输时间。压缩文件大小因数据库的数据特征而异,但典型的数据库可能会缩小到原始大小的 ⅓,从而节省存储成本并缩短备份的上传时间。

要解压缩 Gzipped JSON 文件,请使用默认为 OS-X 和大多数 Linux 发行版提供的gunzip二进制文件发出命令行命令。

gunzip <DATABASE_NAME>.json.gz  # Will unzip to <DATABASE_NAME>.json

存储 30 天生命周期

我们提供了一个易于使用的配置开关,可为您的 Cloud Storage 存储分区启用默认的 30 天对象生命周期策略。启用后,您存储桶中的文件将在 30 天后自动删除。这有助于减少不需要的旧备份、节省存储成本并保持存储桶目录清洁。如果您将其他文件放入您的自动备份存储桶,它们也将使用相同的策略被删除。

费用

可以为Blaze计划中的项目启用备份功能,无需额外费用。但是,您需要为放置在 Cloud Storage 存储分区中的备份文件按标准费率付费。您可以启用Gzip 压缩存储 30 天生命周期以降低存储成本。