我正在研究Heroku rails应用程序的数据库备份选项,看起来免费的PGBackups add-ons效果很好。
然而,我对选项感到困惑。他们是:
Basic - 2 manual back-ups
Plus - 7 manual back-ups
Auto One Week - 7 automatic daily and 2 manual
Auto One Month - 7 automatic daily, 5 automatic weekly, 10 manual
他们都是自由的。我必须在这里遗漏一些东西,因为我不明白为什么你会选择除了最后一个选项。我缺少一个缺点吗?我应该在这里权衡利弊是什么?
答案 0 :(得分:7)
这个添加有点用词不当。对于初学者来说,Heroku上的所有数据库都由Heroku备份,并且作为其灾难恢复过程的一部分可以恢复,所以你根本不需要自己做备份,说实话,但比抱歉更安全。
然而,安心是一件好事,如果您想定期自己的数据库SQL转储,那么选择其中一个选项取决于您。如果你是偏执狂,请选择最后一个选项。如果您只是在运行暂存环境,请选择第一个,这取决于您。
请注意,PGBackups转储会进入他们的S3存储桶,因此如果您需要自己的副本,则需要从那里下载它们。
有关Heroku开箱即用的更多信息,请参阅此处:https://devcenter.heroku.com/articles/heroku-postgres-documentation#continuous_protection
答案 1 :(得分:2)
如果您有Heroku Postgres的开发或基本计划,则无法选择自动选项。这才是重点。
答案 2 :(得分:1)
这不一定是问题的答案,但这是我对Heroku数据库备份所做的事情,我认为参与此线程的其他人可能会觉得它很有用。
只需选择免费的pgbackups附加组件,并使用本地cron任务每天转储和下载转储。
这是我的cron运行的脚本:
#!/bin/bash
now=$(date +"%y%m%d_%H%M")
fn="/home/username/dumps/backup_$now.dump"
cd /home/username/app && heroku pgbackups:capture --expire
cd /home/username/app && heroku pgbackups:url | xargs wget -O $fn
now
变量只是将日期和时间附加到文件名。 fn
是文件路径。
第3行:
cd /home/username/app && heroku pgbackups:capture --expire
更改Heroku应用程序目录然后运行Heroku调用pgbackups以创建转储并删除最旧的转储。
第4行:
cd /home/username/app && heroku pgbackups:url | xargs wget -O $fn
获取转储文件的临时URL,并使用wget下载文件并将其重命名为我在第2行中设置的文件路径:fn
。
这对我来说非常有用,我可以放心,我每天都会备份数据库。我将很快扩展它以删除超过90天的本地备份。
答案 3 :(得分:0)
一周:
Daily backups retained 7
Weekly backups retained 0
Manual backups retained 2
一个月:
Daily backups retained 7
Weekly backups retained 5
Manual backups retained 2
加:
Daily backups retained 0
Weekly backups retained 0
Manual backups retained 7
一个月有超过一周的绝对优势。
但是,plus有7个手动备份,这比任何其他计划都要多。
我可以看到为什么有人会选择加号,但我不明白为什么有人会在一个月内选择一周。
我也是,持怀疑态度,想知道,"这是免费的吗?它是免费的吗?这些数字毫无意义"哈哈
答案 4 :(得分:0)
这是因为他们过去常常为Plus和Auto级别收费。现在他们都是自由的。