【问题标题】:GCP Cron Job MongoDB Backup from mlab来自 mlab 的 GCP Cron Job MongoDB 备份
【发布时间】:2020-05-20 18:54:52
【问题描述】:

我想建立一种方法(使用 GCP)来自动且频繁地下载托管在 mlab 上的一个 MongoDB 实例的副本/备份,并使用它来恢复/填充也在 mlab 上的另一个 MongoDB 实例。我的思考过程如下:

  1. 使用 Cloud Scheduler 在 GCP 上创建一个 cron 作业。这个 cron 作业每周都会触发一条关于 pub/sub 主题的消息。
  2. 接下来,我将设置一个云函数来侦听此发布/订阅主题,因此云函数每周都会被调用
  3. 最后,在云函数(用 Python 编写)中,我会以某种方式在我的 mlab mongodb 实例上调用 mongodump。然后我会用下载的备份调用mongorestore

我的问题是 mongodumpmongorestore 是通用命令行实用程序,与 Python 没有真正的关联。在本地,我可以只安装它们,但是,我认为我不能使用云功能来做到这一点。我的问题是这样的,

  1. 我有没有办法使用mongodump 或从 Python 中的云函数下载备份?
  2. 有没有更简单的方法来完成整个过程? (即每周从 GCP 下载一次备份)

【问题讨论】:

    标签: mongodb google-cloud-functions mlab mongodump google-cloud-scheduler


    【解决方案1】:

    Cloud Functions runtime 是只读的,但可写的 tmp 目录除外。这意味着无法运行或安装诸如mongodumpmongorestore 之类的可执行文件。

    我为您看到的用例可能是:

    1. 使用 Python MongoDB 客户端库通过 Cloud Functions 执行任务。也许pymongo
    2. Cloud Run 与包含mongodumpmongorestore 的Docker 映像一起使用,并通过HTTP 请求从Cloud Function 调用此Cloud Run 服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2018-06-27
      • 2018-11-27
      • 2017-06-14
      • 1970-01-01
      相关资源
      最近更新 更多