diff --git a/katello/katello-backup b/katello/katello-backup index 83657618..d5346dfb 100755 --- a/katello/katello-backup +++ b/katello/katello-backup @@ -35,6 +35,10 @@ optparse = OptionParser.new do |opts| @options[:logical_backup] = logical end + opts.on("--preserve-directory", "Do not create a time-stamped subdirectory") do |no_subdir| + @options[:no_subdir] = no_subdir + end + opts.parse! if ARGV.length == 0 @@ -56,7 +60,7 @@ def run_cmd(command, exit_codes=[0]) end def create_directories(directory) - @dir = File.join directory, "katello-backup-" + DateTime.now.strftime('%Y%m%d%H%M%S') + @dir = File.join directory, "katello-backup-" + DateTime.now.strftime('%Y%m%d%H%M%S') unless @options[:no_subdir] puts "Creating backup folder #{@dir}" FileUtils.mkdir_p @dir FileUtils.chown_R nil, 'postgres', directory @@ -169,7 +173,11 @@ else generate_metadata puts "Done." - FileUtils.cp Dir.glob("#{@options[:incremental]}/.*.snar"), @dir if @options[:incremental] + if @options[:incremental] + FileUtils.cp Dir.glob(File.join(@options[:incremental], '.*.snar')), @dir + elsif @options[:no_subdir] + FileUtils.rm_rf Dir.glob(File.join(@dir, '.*.snar')) + end puts "Backing up config files... " run_cmd("tar --selinux --create --gzip --file=config_files.tar.gz --listed-incremental=.config.snar #{CONFIGS.join(' ')} 2>/dev/null", [0,2])