GCP Cron Job MongoDB Backup from mlab

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

我想建立一种方法(使用GCP)来自动和频繁地下载一个MongoDB实例的副本备份,并使用它来恢复填充另一个同样在mlab上的MongoDB实例。我的思路是这样的。

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

我的问题是 mongodumpmongorestore 是一般的命令行实用程序,并不真正与 Python 相关。在本地,我可以直接安装它们,然而,我不认为我可以用云函数来做。我的问题是这样的。

  1. 有没有办法让我使用 mongodump 或从Python中的云函数下载备份?
  2. 有没有更简单的方法来完成整个过程?(即每周从GCP下载一次备份)
mongodb google-cloud-functions mlab mongodump google-cloud-scheduler
1个回答
0
投票

云函数运行时 是只读的,除了 tmp 目录是可写的。这意味着不能运行或安装可执行文件,如 mongodumpmongorestore.

我认为你的用例的可能性是。

  1. 使用Python MongoDB客户端库来执行Cloud Funtion中的任务。或许 pymongo?
  2. 使用 云端运行 的Docker镜像,其中包含 mongodumpmongorestore 并通过HTTP请求从云功能中调用这个云运行服务。
© www.soinside.com 2019 - 2024. All rights reserved.