class S3backup::Restore

Public Class Methods

new(output_dir,config) click to toggle source
# 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

Public Instance Methods

check_config(config) click to toggle source
# 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
start() click to toggle source
# 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