class S3backup::Backup
Public Class Methods
new(config)
click to toggle source
# File lib/s3backup/backup.rb, line 3 def initialize(config) check_config(config) directories = config["directories"] @directories = directories.map{|d| d=~/\/$/ ? d.chop : d} begin @s3_obj = S3Wrapper.new(config,true) 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/backup.rb, line 15 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 unless config["directories"] S3log.error("directories doesn't exist in config file.") exit(-1) end unless config["directories"].class == Array dir = config["directories"] config["directories"] = Array.new config["directories"].push dir end config["directories"].each do |dir| unless File.directory? dir S3log.error("#{dir} isn't exist.") exit(-1) end if File.expand_path(dir) != dir S3log.error("#{dir.length} must be absolute path.") exit(-1) end end end
start()
click to toggle source
# File lib/s3backup/backup.rb, line 44 def start begin first_flg=false @directories.each do |dir| @manager.differential_copy(dir) end rescue => err S3log.error(err.backtrace.join("\n")+"\n"+err.message) exit(-1) end end