2014-03-04 54 views

回答

24

看一看Backup寶石。它提供了一個非常漂亮的一套類似的特點:

  • 數據庫支持:MySQL和MongoDB的和PostgreSQL,Redis的...
  • 壓縮
  • 加密
  • 儲量:亞馬遜S3,本地,rsync的,Dropbox的...
  • 通告:電子郵件,微博,Hipchat ...
  • 友好DSL

該插件完全獨立於Rails,因此您可以將其用於其他應用程序。

備份典範(MySQL的,亞馬遜,gzip和電子郵件通知):

Model.new(:my_backup, 'My backup description') do 
    database MySQL do |db| 
    db.name  = "database_name" 
    db.username = "username" 
    db.password = "pass" 
    db.host  = "localhost" 
    db.port  = 3306 
    end 

    store_with S3 do |s3| 
    s3.access_key_id  = "access_key_id" 
    s3.secret_access_key = "secret_access_key" 
    s3.bucket   = "bucket_name" 
    s3.path    = "path/to/your/backups" 
    end 

    compress_with Gzip 

    notify_by Mail do |mail| 
    mail.on_success  = true 
    mail.on_warning  = true 
    mail.on_failure  = true 

    mail.from   = "[email protected]" 
    mail.to    = "[email protected]" 
    mail.address  = "smtp.gmail.com" 
    mail.port   = 587 
    mail.domain   = "your.host.name" 
    mail.user_name  = "[email protected]" 
    mail.password  = "pass" 
    mail.authentication = "plain" 
    end 
end 

執行備份:

$ backup perform --trigger my_backup 

用cron作業(例如用whenever寶石)排定備份你會得到一個簡單而有效的解決方案:

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

希望這個可以幫你。

+1

我也使用這個;效果很好。我使用capistrano配方安裝/設置,並在每次將備份安排爲cron作業時使用。 – steakchaser

+1

這正是我需要的。 Thx很多。 –

+1

謝謝這真的很有用./ – RajSharma

0

我知道你的問題已經解決了,但是我想把Dumper.io工具添加到這個線程。我簡單地愛這個工具的簡單性。