class RdBackup::Application
Backup all directories define in a YAML configuration file. The actuel backup is ensured by rdiff-backup command.
Public Class Methods
new(config)
click to toggle source
Initialize the instance with a YAML configuration file @param config [String] path to the YAML config file
# File lib/rdbackup/app.rb, line 11 def initialize(config) @config = Psych.load(File.open(config)) end
Public Instance Methods
backup()
click to toggle source
Call rdiff-backup for each source directory to backup
# File lib/rdbackup/app.rb, line 16 def backup @config["backup"].each do |item| local_dir=item["directory"] remote_host=item["server"]["hostname"] remote_dir=item["server"]["directory"] additional_dir = local_dir.split('/').last well_executed = system("rdiff-backup #{local_dir} #{remote_host}::#{remote_dir}/#{additional_dir}") raise "rdiff-backup failed" unless well_executed end end