Class: RdBackup::Application
- Inherits:
-
Object
- Object
- RdBackup::Application
- Defined in:
- lib/rdbackup/app.rb
Overview
Backup all directories define in a YAML configuration file. The actuel backup is ensured by rdiff-backup command.
Instance Method Summary collapse
-
#backup ⇒ Object
Call rdiff-backup for each source directory to backup.
-
#initialize(config) ⇒ Application
constructor
Initialize the instance with a YAML configuration file.
Constructor Details
#initialize(config) ⇒ Application
Initialize the instance with a YAML configuration file
11 12 13 |
# File 'lib/rdbackup/app.rb', line 11 def initialize(config) @config = Psych.load(File.open(config)) end |
Instance Method Details
#backup ⇒ Object
Call rdiff-backup for each source directory to backup
16 17 18 19 20 21 22 23 24 25 26 27 |
# 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 |