Skip to content

kirillshevch/pg_drive_backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Simple solution to make encrypted with ccrypt PostgreSQL backups and storing on Google Drive API

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages