class RdiffBackupWrapper::RdiffBackupWrapper
Public Class Methods
new(config_path=nil)
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 8 def initialize(config_path=nil) @config_path = config_path end
Public Instance Methods
backups()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 20 def backups unless @backups.nil? return @backups end @backups = [] config['backups'].each do |backup_config| @backups << Backup.new(backup_config) end @backups end
cleanup_volumes()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 48 def cleanup_volumes volumes.each do |v| v.cleanup end end
config()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 16 def config YAML::load_file(config_path) end
config_path()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 12 def config_path @config_path || '/etc/rdiff-backup-wrapper.yml' end
prepare_volumes()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 42 def prepare_volumes volumes.each do |v| v.prepare end end
run()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 54 def run at_exit do cleanup_volumes end prepare_volumes ret_val = run_backups exit ret_val end
run_backups()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 63 def run_backups retval = 0 outputs = [] backups.each do |backup| outputs << backup.run end outputs.each do |o| if o[:retval].exitstatus != 0 retval = 1 STDERR.puts "backup #{o[:name]} failed with exitstatus #{o[:retval].exitstatus}" [:stderr, :stdout].each do |k| if o[k].length > 0 STDERR.puts "output #{k}:" STDERR.puts o[k] end end end end return retval end
volumes()
click to toggle source
# File lib/rdiff_backup_wrapper.rb, line 31 def volumes unless @volumes.nil? return @volumes end @volumes = [] config['volumes'].each do |volume_config| @volumes << Volume.create(volume_config) end @volumes end