从 Heroku Scheduler 访问 pg:backups

mrz*_*asa 5 ruby heroku amazon-s3 heroku-postgres

我想将我的最后一个 heroku postgres 备份发送到 S3 以将其存储在 heroku 基础架构之外,以防万一我在错误的数据库上单击“删除”。

为此,我需要一个指向备份的 URL。我试图运行heroku pg:backups public-url -q,但它在一次性测功机上不起作用(我试过heroku run bash测功机)。当 dynos 上似乎没有 heroku 工具带。

我以为我可以使用platform-api gem,但它似乎不支持 pg:backups。

你知道我如何在 heroku 调度程序上获取 pg 备份数据吗?或者也许您有更好的方法将数据库备份发送到 S3?

Ran*_*ger 3

有点晚了,以后再回答有这个问题的人。

Heroku 平台中没有任何内置功能可以允许将 Postgres 备份直接、自动导出到平台外存储。有一种相当简单的方法可以管理这个问题,而不需要太多的努力。

想象一下,具有相关数据库的应用程序已被命名foo,并且您对该数据库有计划的每日备份。您希望定期将备份导出到 S3,如问题中所述。首先,创建一个虚拟应用程序,其功能类似于服务帐户。bar我们暂时就这样称呼它。

现在,请确保在此应用程序中包含Heroku CLI 构建包并按照设置说明进行操作。这样您就可以直接从bar的应用程序代码授权和访问 CLI。现在,您可以添加Heroku Scheduler插件bar并编写一些应用程序代码(如rake任务,因为我们正在谈论 Ruby)来完成下载和备份。一旦您安排该任务以您喜欢的时间间隔运行,您就拥有了一个可以为您存档 Postgres 备份的应用程序。