module S3Backup
Public Class Methods
pg_backup!(database_name)
click to toggle source
# File lib/s3_backup.rb, line 16 def pg_backup!(database_name) require_s3_params Config.requires!(:pg_host, :pg_user, :s3_pg_path, :tables) backup = Pg::Backup.new(database_name) backup.now! end
pg_download!(pg_database_name, filename)
click to toggle source
# File lib/s3_backup.rb, line 34 def pg_download!(pg_database_name, filename) raise 'Need to be run in a rails project' unless defined?(Rails) require_s3_params Config.requires!(:s3_pg_path) file_downloaded = S3Backup::Storage::S3.new.download!(pg_database_name, Config.s3_pg_path, filename) abort 'Unable to download file' unless file_downloaded filename end
pg_import!(pg_database_name)
click to toggle source
# File lib/s3_backup.rb, line 24 def pg_import!(pg_database_name) raise 'Need to be run in a rails project' unless defined?(Rails) require_s3_params Config.requires!(:s3_pg_path) import = Pg::Import.new(pg_database_name) import.now! end
redis_backup!()
click to toggle source
# File lib/s3_backup.rb, line 44 def redis_backup! require_s3_params Config.requires!(:redis_dump_path, :s3_redis_path) backup = Redis::Backup.new backup.now! end
redis_import!(redis_evironement)
click to toggle source
# File lib/s3_backup.rb, line 52 def redis_import!(redis_evironement) raise 'Import only work with redis installed by brew' if Dir['/usr/local/Cellar/redis/*'].blank? require_s3_params Config.requires!(:s3_redis_path) import = Redis::Import.new(redis_evironement) import.now! end
Private Class Methods
require_s3_params()
click to toggle source
# File lib/s3_backup.rb, line 64 def require_s3_params Config.load!('config/s3_backup_obfuscate.yml') Config.requires!(:aws_access_key_id, :aws_secret_access_key, :bucket, :aws_region, :s3_keep) end