google-app-engine - 从任务队列运行 appengine 备份

标签 google-app-engine cron database-backups

1.8.4 release Google App Engine 指出:

A Datastore Admin fix in this release improves security by ensuring that scheduled backups can now only be started by a cron or task queue task. Administrators can still start a backup by going to the Datastore Admin in the Admin Console.

记录了使用 cron 运行计划备份的方法,但是我们如何从任务队列任务启动备份呢?

还有其他方法可以以编程方式运行备份任务吗?

最佳答案

您可以使用 GET 方法和 URL“/_ah/datastore_admin/backup.create”创建任务队列任务,并将参数指定为 URL 的参数,并将该任务定位为在“ah-builtin-python-bundle”上运行' 版本。示例:

url = '/_ah/datastore_admin/backup.create?filesystem=blobstore&name=MyBackup&kind=Kind1&kind=Kind2'
taskqueue.add(
        url=url,
        target='ah-builtin-python-bundle',
        method='GET',
        )

我有 cron 作业来触发我自己的处理程序,然后查找配置并根据该配置创建任务队列备份。这让我可以更改备份设置,而无需更新 cron 作业,并且让我拥有更多控制权。

您可以在 URL 中指定的选项与 CRON job backups 的文档描述相同。因此您也可以指定命名空间和 gs-bucket-name。

我相信要在 Java 中执行此操作,您必须在队列定义中创建一个带有目标的队列,并将任务添加到该队列中。

关于google-app-engine - 从任务队列运行 appengine 备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792027/

相关文章:

python - 如何在我的 Google App Engine 应用程序中暂时禁用 AppStats?

java - 提供 AppEngine 静态文件

docker - 如何在 docker 容器内运行 cron 作业?

mysql转储: Got error: 1017: Can't find file: './access.frm' (errno: 13) when using LOCK TABLES

linux - RMAN 命令未在 .sh 文件中执行

java - 带有 Android 的 Google Cloud Endpoints - 缓存响应?

google-app-engine - App Engine 数据存储中使用的命名空间是什么?

shell - 使用 Cron 删除超过 30 分钟的文件夹

php - 从 php 脚本设置 cron 作业以运行另一个 php 脚本?

sql-server - 每小时备份一部分特定表的最有效和最简单的方法