pg_drive_backup
pg_drive_backup copied to clipboard
Simple solution to make encrypted with ccrypt PostgreSQL backups and storing on Google Drive API
PgDriveBackup
Simple solution to make encrypted with ccrypt PostgreSQL backups and storing on Google Drive API
Installation
Add this line to your application's Gemfile:
gem 'pg_drive_backup'
And then execute:
$ bundle
Or install it yourself as:
$ gem install pg_drive_backup
Usage
Quick start
Required database config credentials:
config/initializers/pg_drive_backup.rb
PgDriveBackup::Settings.configure do |config|
config.database.name = 'database_name'
config.database.user = ENV.fetch('PG_USERNAME')
config.database.password = ENV.fetch('PG_PASSWORD')
end
Add your google drive authorization JSON file to config/drive.json
Generate your encryption key, for example:
openssl passwd -1 "somepassword"
And put it into config/key.txt
Run it:
PgDriveBackup::Run.call
It uploads your encrypted backup with name like 20171009083306693-dump.sql.cpt
To decrypt:
ccrypt -k config/key.txt -d 20171009083306693-dump.sql.cpt
Tunning
Config options:
PgDriveBackup::Settings.configure do |config|
config.credentials_path = 'config/drive.json' # default: 'config/drive.json'
config.key_path = 'config/key.txt' # default: 'config/key.txt'
config.prefix = '-dump' # default: '-dump'
config.database.name = 'database_name' # default: nil
config.database.user = ENV.fetch('PG_USERNAME') # default: nil
config.database.password = ENV.fetch('PG_PASSWORD') # default: nil
config.database.host = 'localhost' # default: 'localhost'
end
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kirillshevch/pg_drive_backup.
License
The gem is available as open source under the terms of the MIT License.