这是一种在 Firebase Storage 中备份数据的方法吗?

问题描述 投票:0回答:3

Firebase Blaze 计划的自动备份会备份 Firebase 实时数据库。但我无法找到如何为我每天备份实时数据库的同一项目备份 Firebase 存储数据库。有人知道如何备份 Firebase 存储吗?

firebase-storage database-backups
3个回答
43
投票

如何对 Firebase 存储进行本地备份

Firebase 没有内置方法。但是,由于 Firebase 在后台使用 Google Cloud Storage 作为 Firebase 存储,因此可以使用 gutils Tool

先决条件

  • 确保您的计算机上已安装 Python (2.7.9+)
    python -V
  • 转至 Google Cloud SDK 页面,然后按照说明在您的操作系统上下载并安装 Google Cloud SKD。

步骤

  1. 在 Google SDK 安装结束时,您应该运行
    gcloud init
    。这将要求您选择您的项目并对您进行身份验证。由于 Firebase 在幕后使用 Google Cloud Platform,因此您的 Firebase 项目应该可供选择。
  2. 为了让 Google Cloud Utils 下载使用 Firebase 权限上传的文件,您需要为您的帐户授予 Firebase 权限。转至 IAM 页面,然后选择您用于登录
    cloud init
    的电子邮件地址。在可用权限列表中,您需要从
    Firebase Rules System
    类别中选择
    Other
  3. 从仪表板中的 Firebase 存储页面获取您的 Google 存储 URL(向顶部)应如下所示:
    gs://<bucket_name>
  4. 在本地计算机上的命令行中,导航到要进行本地备份的文件夹。 确保您位于所需的文件夹中,因为以下命令将下载当前文件夹中的所有文件
  5. 运行gutil命令
    gsutil -m cp -R gs://<bucket_name> .
    • -m
      如果您有很多文件,可启用多线程以加快下载速度。
    • cp
      是复制命令
    • -R
      是递归的。如果启用,它将下载指定树中的所有文件和文件夹。
  6. 你完成了!这将运行一段时间,具体取决于您的存储大小。

这也可用于复制(备份)到另一个 Google Cloud Storage Bucket 或 AWS 等。


1
投票

我知道3年前通过使用

Google Cloud SDK
中的gsutil已经有了正确的答案。下面我只想添加另一种从 Google Cloud Storage 的存储桶中手动下载 Firebase 存储的方法,这些存储桶是:

  • 不需要账户计费。 (至少现在)
  • 无需使用 CLI 命令。

但是,它不允许下载多个文件/文件夹。它只是帮助您一次下载单个文件。

步骤

  1. 通过 Google Cloud Storage
  2. 访问您的项目
  3. 在浏览器选项卡中,选择包含您的文件的存储桶。
  4. 在存储桶详细信息页面中,单击下方的向下箭头图标(下载图标) 要下载的文件行末尾。您可以多次点击下载多个文件。

额外:Google 可以帮助您使用

gsutil
命令行一次下载多个文件和文件夹。您可以通过选择文件和文件夹来尝试,然后单击表格顶部的“下载”文本操作。


0
投票

我一直在寻找云备份方法,但谷歌云存储提供软删除(保护)功能。最大软删除策略为 90 天。 https://cloud.google.com/storage/docs/soft-delete

© www.soinside.com 2019 - 2024. All rights reserved.