module ForemanMaintain::Cli::BackupCommon
Public Class Methods
included(klass)
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 4 def self.included(klass) klass.extend ClassMethods end
Public Instance Methods
backup_dir()
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 8 def backup_dir @backup_dir ||= preserve_directory? ? backup_root_dir : backup_subdir end
backup_subdir()
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 16 def backup_subdir name = feature(:instance).product_name.downcase.tr(' ', '-') File.join(backup_root_dir, "#{name}-backup-" + timestamp) end
perform_backup(strategy, options = {})
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 21 def perform_backup(strategy, options = {}) backup_scenario = backup_scenario(options, strategy) rescue_scenario = rescue_scenario(options, strategy) puts "Starting backup: #{Time.now}" run_scenario(backup_scenario, rescue_scenario) puts "Done with backup: #{Time.now}" final_message exit runner.exit_code end
timestamp()
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 12 def timestamp DateTime.now.strftime('%Y-%m-%d-%H-%M-%S') end
Private Instance Methods
backup_scenario(options, strategy)
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 84 def backup_scenario(options, strategy) Scenarios::Backup.new({ :backup_dir => backup_dir, :strategy => strategy, :preserve_dir => preserve_directory?, :proxy_features => features, :tar_volume_size => split_pulp_tar, :skip_pulp_content => skip_pulp_content?, :incremental_dir => incremental, :wait_for_tasks => wait_for_tasks?, }.merge(options)) end
final_message()
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 97 def final_message if runner.quit? if preserve_directory? puts "Backup didn't finish. Incomplete backup is preserved in: #{backup_dir}" else puts "Backup didn't finish. Incomplete backup was removed." end else puts "**** BACKUP Complete, contents can be found in: #{backup_dir} ****" end end
rescue_scenario(options, strategy)
click to toggle source
# File lib/foreman_maintain/cli/backup_command.rb, line 76 def rescue_scenario(options, strategy) Scenarios::BackupRescueCleanup.new({ :backup_dir => backup_dir, :strategy => strategy, :preserve_dir => preserve_directory?, }.merge(options)) end