它是一种在Firebase存储中备份数据的方法吗?

时间:2017-09-22 17:06:31

标签: firebase-storage database-backups

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

2 个答案:

答案 0 :(得分:16)

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

Firebase没有内置方法。但是,由于Firebase在Firebase存储的幕后使用Google云端存储,因此可以使用 gutils工具

先决条件

  • 确保您的计算机上安装 Python (2.7.9 +) python -V
  • 转到the Google Cloud SDK page并按照说明在您的操作系统上下载并安装Google Cloud SKD。

步骤

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

答案 1 :(得分:0)

我知道在 3 年前通过在 Google Cloud SDK 中使用 gsutil 已经有了正确答案。在下面,我只想添加另一种从 Google Cloud Storage 的存储桶手动下载 Firebase 存储的方法,它们是:

  • 不需要帐户结算。 (至少此时)
  • 无需使用 CLI 命令。

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

步骤

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

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