diff options
Diffstat (limited to 'lib/backup/files.rb')
-rw-r--r-- | lib/backup/files.rb | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/lib/backup/files.rb b/lib/backup/files.rb index 2bac84846c5..03b41c17d78 100644 --- a/lib/backup/files.rb +++ b/lib/backup/files.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'open3' -require_relative 'helper' +require "open3" +require_relative "helper" module Backup class Files @@ -12,9 +12,9 @@ module Backup def initialize(name, app_files_dir) @name = name @app_files_dir = File.realpath(app_files_dir) - @files_parent_dir = File.realpath(File.join(@app_files_dir, '..')) - @backup_files_dir = File.join(Gitlab.config.backup.path, File.basename(@app_files_dir) ) - @backup_tarball = File.join(Gitlab.config.backup.path, name + '.tar.gz') + @files_parent_dir = File.realpath(File.join(@app_files_dir, "..")) + @backup_files_dir = File.join(Gitlab.config.backup.path, File.basename(@app_files_dir)) + @backup_tarball = File.join(Gitlab.config.backup.path, name + ".tar.gz") end # Copy files from public/files to backup/files @@ -22,34 +22,34 @@ module Backup FileUtils.mkdir_p(Gitlab.config.backup.path) FileUtils.rm_f(backup_tarball) - if ENV['STRATEGY'] == 'copy' - cmd = %W(rsync -a --exclude=lost+found #{app_files_dir} #{Gitlab.config.backup.path}) + if ENV["STRATEGY"] == "copy" + cmd = %W[rsync -a --exclude=lost+found #{app_files_dir} #{Gitlab.config.backup.path}] output, status = Gitlab::Popen.popen(cmd) unless status.zero? puts output - raise Backup::Error, 'Backup failed' + raise Backup::Error, "Backup failed" end - run_pipeline!([%W(#{tar} --exclude=lost+found -C #{@backup_files_dir} -cf - .), %w(gzip -c -1)], out: [backup_tarball, 'w', 0600]) + run_pipeline!([%W[#{tar} --exclude=lost+found -C #{@backup_files_dir} -cf - .], %w[gzip -c -1]], out: [backup_tarball, "w", 0o600]) FileUtils.rm_rf(@backup_files_dir) else - run_pipeline!([%W(#{tar} --exclude=lost+found -C #{app_files_dir} -cf - .), %w(gzip -c -1)], out: [backup_tarball, 'w', 0600]) + run_pipeline!([%W[#{tar} --exclude=lost+found -C #{app_files_dir} -cf - .], %w[gzip -c -1]], out: [backup_tarball, "w", 0o600]) end end def restore backup_existing_files_dir - run_pipeline!([%w(gzip -cd), %W(#{tar} --unlink-first --recursive-unlink -C #{app_files_dir} -xf -)], in: backup_tarball) + run_pipeline!([%w[gzip -cd], %W[#{tar} --unlink-first --recursive-unlink -C #{app_files_dir} -xf -]], in: backup_tarball) end def tar - if system(*%w[gtar --version], out: '/dev/null') + if system("gtar", "--version", out: "/dev/null") # It looks like we can get GNU tar by running 'gtar' - 'gtar' + "gtar" else - 'tar' + "tar" end end @@ -58,7 +58,7 @@ module Backup if File.exist?(app_files_dir) # Move all files in the existing repos directory except . and .. to # repositories.old.<timestamp> directory - FileUtils.mkdir_p(timestamped_files_path, mode: 0700) + FileUtils.mkdir_p(timestamped_files_path, mode: 0o700) files = Dir.glob(File.join(app_files_dir, "*"), File::FNM_DOTMATCH) - [File.join(app_files_dir, "."), File.join(app_files_dir, "..")] begin FileUtils.mv(files, timestamped_files_path) @@ -78,7 +78,7 @@ module Backup return if status.compact.all?(&:success?) regex = /^g?tar: \.: Cannot mkdir: No such file or directory$/ - raise Backup::Error, 'Backup failed' unless err_r.read =~ regex + raise Backup::Error, "Backup failed" unless err_r.read =~ regex end end end |