ruby - 访问页面 :backups from Heroku Scheduler

标签 ruby heroku amazon-s3 heroku-postgres

我想将我最后的 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/

相关文章:

ruby-on-rails - 如何使用 aws-s3 gem 或 right_aws gem 更改 S3 存储桶中所有文件的文件权限

Ruby 常量和命名空间

ruby-on-rails - AWS::S3::错误::访问拒绝。无法使用 Ruby on Rails 保存到 S3

django - 如何外部化 Django 的媒体数据并将其提供给前端

python - Pyspark S3 错误 : java. lang.NoClassDefFoundError: com/amazonaws/services/s3/model/MultiObjectDeleteException

ruby-on-rails - Heroku 数据库 :migrate aborted

ruby-on-rails - 如何从两个不同的外键访问模型?

java - 在 java 中进行 URLEncode,在 ruby​​ 中进行解码

ruby - Heroku resque 没有 worker

ruby-on-rails - 时间不在 heroku 中更新