【发布时间】:2018-10-01 19:51:05
【问题描述】:
我有一个在 Digital Ocean 液滴上运行的简单 Rails 应用程序,我现在想添加功能以定期备份(单个)数据库。
我知道这通常使用 Rails 中的 Backup 和 Whenever gem 来完成,例如http://vladigleba.com/blog/2014/06/30/backup-a-rails-database-with-the-backup-and-whenever-gems/
上述教程将带您完成首先在服务器上安装 gem 并编辑生成的文件以满足您的需要的过程,然后简要考虑如何在开发机器上本地复制更改并将未来的更改推送到实时服务器。
上述过程似乎有些倒退,相反,我想先在本地创建文件,然后再将它们推送到实时服务器。
到目前为止,我有(本地):
- 安装了
Backup-gem install backup -v5.0.0.beta.2的 Rails 5 兼容版本 - 已生成备份配置文件 -
backup generate:model --trigger=db_backup --databases="postgresql" --storages="local" --compressor="gzip" --notifiers="mail"这会自动在用户的根目录中创建一个新文件夹(备份),我已将此新文件夹移动到我的 rails 应用程序中的Config文件夹 - 编辑了我的 credentials.yml.enc 文件的内容,以包含我的 Postgres 数据库和电子邮件客户端的用户名、密码等详细信息 -
EDITOR="sublime --wait" bin/rails credentials:edit和Rails.application.credentials.database_password形式的引用变量
我现在希望在将更改推送到我的 Git 存储库和实时站点之前,向自己保证,这在我的本地环境中是有效的。但是,当我尝试backup perform -t db_backup 时出现以下错误Config::Error: Could not find configuration file: '/Users/myname/Backup/config.rb'
Backup gem (http://backup.github.io/backup/v4/generator/) 上提供的文档指出:
如果您想更改模型文件所在的路径 生成,使用 --config-file 选项指定您的路径 配置文件。模型将被放置到 models/ 目录中 您的配置文件所在的位置。
$ backup generate:model --config-file='/path/to/my_config.rb' --trigger my_backup (etc...)
请有人建议在此备份文件夹的位置方面什么是好的/最佳做法,特别是确保可以轻松地将其推送到服务器,并且可以轻松地将其在服务器上的位置引用。
很抱歉,如果这是一个愚蠢的问题,但是在尝试“按照我的意愿编造”之前的任务(并将自己打结)之后,我很想从其他人的经验中学习如何这最好整齐地完成
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 database-backups