我想将我最后的 heroku postgres 备份发送到 S3 以将其存储在 heroku 基础设施之外,以防我在错误的数据库上单击“删除”。
为此,我需要一个指向备份的 URL。我尝试运行 heroku pg:backups public-url -q
,但它不适用于一次性测功机(我试过 heroku run bash
测功机)。似乎 heroku toolbelt 在 dynos 上不可用。
我以为我可以使用 platform-api gem , 但似乎不支持 pg:backups。
你知道我如何在 heroku scheduler 上获取 pg 备份数据吗?或者,也许您有更好的方法将数据库备份发送到 S3?
最佳答案
有点晚了,为以后有此问题的人解答。
Heroku 平台中没有内置任何东西可以直接、自动地将您的 Postgres 备份导出到平台外存储。有一种相当简单的方法可以轻松管理它。
想象一下,包含相关数据库的应用程序名为 foo
,并且您在该数据库上安排了每日备份。您希望定期将备份导出到 S3,如问题中所述。首先,创建一个功能类似于服务帐户的虚拟应用程序。我们暂时称它为 bar
。
现在,确保包含 Heroku CLI buildpack使用此应用程序并按照设置说明进行操作。通过这种方式,您可以直接从 bar
的应用程序代码中授权和访问 CLI。现在您可以添加 Heroku Scheduler添加到 bar
并编写一些应用程序代码(例如 rake
任务,因为我们正在谈论 ruby)以完成下载和备份。一旦您安排该任务以您喜欢的时间间隔运行,您就有了一个可以为您存档 Postgres 备份的应用程序。
关于ruby - 访问页面 :backups from Heroku Scheduler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38994394/