Class: S3backup::Restore

Inherits:
Object
  • Object
show all
Defined in:
lib/s3backup/restore.rb

Instance Method Summary collapse

Constructor Details

#initialize(output_dir, config) ⇒ Restore

Returns a new instance of Restore.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/s3backup/restore.rb', line 4

def initialize(output_dir,config)
  check_config(config)
  @output_dir = output_dir
  @directories = config["directories"]
  begin
    @s3_obj = S3Wrapper.new(config,false)
  rescue => err
    S3log.error(err.backtrace.join("\n")+"\n"+err.message)
    exit(-1)
  end
  @manager = Manager.new(@s3_obj,config)
end

Instance Method Details

#check_config(config) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/s3backup/restore.rb', line 16

def check_config(config)
  if config["log_level"]
    if config["log_level"] =~ /debug|info|warn|error/i
      S3log.set_level(config["log_level"])
    else 
      S3log.error("log_level:#{config['log_level']} is not debug or info or warn or error") 
      exit(-1)
    end
  end
  if config["directories"] 
    if config["directories"].class != Array 
      dir = config["directories"] 
      config["directories"] = Array.new
      config["directories"].push dir
    end
    config["directories"] = config["directories"].map{|d| d=~/\/$/ ? d.chop : d}
  end
end

#startObject



34
35
36
37
38
39
40
41
42
43
44
# File 'lib/s3backup/restore.rb', line 34

def start
  S3log.error("directories is not defined") unless @directories
  begin
    @directories.each do |dir|
      @manager.restore(dir,@output_dir)
    end
  rescue => err
    S3log.error(err.backtrace.join("\n")+"\n"+err.message)
    exit(-1)
  end
end