Module: SimpleBackup

Defined in:
lib/simple_backup.rb,
lib/simple_backup/dsl.rb,
lib/simple_backup/engine.rb,
lib/simple_backup/sources.rb,
lib/simple_backup/version.rb,
lib/simple_backup/backends.rb,
lib/simple_backup/source/dir.rb,
lib/simple_backup/source/file.rb,
lib/simple_backup/utils/mysql.rb,
lib/simple_backup/source/mysql.rb,
lib/simple_backup/utils/logger.rb,
lib/simple_backup/utils/mailer.rb,
lib/simple_backup/backend/local.rb,
lib/simple_backup/backend/abstract.rb,
lib/simple_backup/utils/disk_usage.rb,
lib/simple_backup/source/dir_strategy/bare.rb,
lib/simple_backup/source/dir_strategy/capistrano.rb,
lib/simple_backup/source/abstract.rb

Defined Under Namespace

Modules: Backend, Engine, Source, Utils Classes: Backends, DSL, Sources, Version

Constant Summary collapse

TIMESTAMP =
Time.new.strftime('%Y%m%d%H%M%S')
@@status =
:failed
@@logger =
Utils::Logger.instance

Class Method Summary collapse

Class Method Details

.define(&block) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 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) ⇒ Object



38
39
40
41
42
43
44
45
# 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

.statusObject



14
15
16
# File 'lib/simple_backup.rb', line 14

def self.status
  @@status
end