module SimpleBackup

Constants

TIMESTAMP

Public Class Methods

define(&block) click to toggle source
# File lib/simple_backup.rb, line 18
def self.define(&block)
  @@logger.scope_start :info, "Backup #{TIMESTAMP} started"

  engine = Engine::Engine.new
  dsl = DSL.new(engine)

  @@logger.scope_start :info, "Configuration"
  dsl.instance_eval(&block)
  @@logger.scope_end

  engine.run
  @@status = :succeed

  @@logger.scope_end :info, "Backup #{TIMESTAMP} finished"
rescue StandardError => e
  self.handle_exception(e)
ensure
  engine.notify if engine
end
handle_exception(e) click to toggle source
# File lib/simple_backup.rb, line 38
def self.handle_exception(e)
  @@logger.error "#{e.class} => #{e.message}"
  @@logger.error "Backup #{TIMESTAMP} failed"

  STDERR.puts "Error @ #{Time.new.strftime('%Y-%m-%dT%H:%M:%S')}"
  STDERR.puts "#{e.inspect}"
  STDERR.puts e.backtrace
end
status() click to toggle source
# File lib/simple_backup.rb, line 14
def self.status
  @@status
end