class BackupS3

no docs

Public Class Methods

new(opt = {}) click to toggle source
# File lib/backup_aws_s3.rb, line 10
def initialize(opt = {})
  unless ENV['S3S3MIRROR_PATH'] && ENV['S3_ACCESS_KEY_ID'] && ENV['S3_SECRET_KEY_ID']
    fail 'Not found any of these enviroment variables: S3_ACCESS_KEY_ID, S3_SECRET_KEY_ID, S3S3MIRROR_PATH'
  end
  create opt
end

Public Instance Methods

create(opt = {}) click to toggle source
# File lib/backup_aws_s3.rb, line 17
def create(opt = {})
  name   = opt[:name]
  dest   = opt[:dest]
  source = opt[:source]
  keep   = opt[:keep]
  fail 'Missing any of these parameters: name, dest, source or keep' unless name && dest && source
  p "Creating backup: #{name} in #{dest} "
  Open3.popen3('nroff -man') do |stdin, stdout, stderr|
    system "cd #{ENV['S3S3MIRROR_PATH']} && ./s3s3mirror.sh #{source} #{dest}"
    p "Created backup: #{name} in #{dest} "
    BackupS3::Cycler.new(name).cycle!(path: dest, keep: keep) if keep
  end
end