ruby-on-rails – 将DB备份在rails 4中[已关闭]

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 将DB备份在rails 4中[已关闭]前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个宝石db2fog,但它只适用于Rails 3.
有没有适合在Rails 4中进行数据库备份?

解决方法

看看 Backup宝石.它提供了一组非常好的功能,如:

>数据库支持MysqL,MongoDB,Postgresql,Redis …
>压缩
>加密
>存储:Amazon S3,本地,RSync,DropBox
>通知:电子邮件,Twitter,Hipchat …
>友好DSL

插件完全独立于Rails,因此您可以将其用于其他应用程序.

备份模型示例(MysqL,Amazon,Gzip和电子邮件通知):

  1. Model.new(:my_backup,'My backup description') do
  2. database MysqL do |db|
  3. db.name = "database_name"
  4. db.username = "username"
  5. db.password = "pass"
  6. db.host = "localhost"
  7. db.port = 3306
  8. end
  9.  
  10. store_with S3 do |s3|
  11. s3.access_key_id = "access_key_id"
  12. s3.secret_access_key = "secret_access_key"
  13. s3.bucket = "bucket_name"
  14. s3.path = "path/to/your/backups"
  15. end
  16.  
  17. compress_with Gzip
  18.  
  19. notify_by Mail do |mail|
  20. mail.on_success = true
  21. mail.on_warning = true
  22. mail.on_failure = true
  23.  
  24. mail.from = "sender@email.com"
  25. mail.to = "receiver@email.com"
  26. mail.address = "smtp.gmail.com"
  27. mail.port = 587
  28. mail.domain = "your.host.name"
  29. mail.user_name = "sender@email.com"
  30. mail.password = "pass"
  31. mail.authentication = "plain"
  32. end
  33. end

执行备份:

  1. $backup perform --trigger my_backup

安排您的备份与cron工作(例如,每当gem),你将实现一个简单而有效的解决方案:

  1. every 1.day,:at => '1:00 am' do
  2. command "backup perform --trigger my_backup"
  3. end

希望这可以帮助你.

猜你在找的Ruby相关文章