Существует gem db2fog
, но он работает только с Rails 3.
Есть ли какие-либо возможности для создания резервных копий баз данных в Rails 4?
Создание резервных копий БД в рельсах 4
Ответ 1
Взгляните на Backup gem. Он обеспечивает очень хороший набор функций, таких как:
- Поддержка баз данных: MySQL, MongoDB, PostgreSQL, Redis...
- Сжатие
- Шифрование
- Хранилища: Amazon S3, Local, RSync, Dropbox...
- Уведомления: электронная почта, Twitter, Hipchat...
- Дружественный DSL
Плагин полностью независим от Rails
, поэтому вы можете использовать его для других приложений.
Пример резервной копии (MySQL, Amazon, 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
gem), и вы достигнете простого и эффективного решения:
every 1.day, :at => '1:00 am' do
command "backup perform --trigger my_backup"
end
Надеюсь, это поможет вам.
Ответ 2
Я знаю, что ваша проблема уже решена, но я хотел добавить инструмент Dumper.io в этот поток. Я просто люблю простоту этого инструмента.