diff options
author | Frederic Van Espen <fes@escaux.com> | 2019-03-07 09:38:14 +0100 |
---|---|---|
committer | Frederic Van Espen <fes@escaux.com> | 2019-03-07 09:38:14 +0100 |
commit | 935b69838488f13586541114e0293e5ef6d79f43 (patch) | |
tree | c0416a746cd9cf32a95aea4d1d64b9c77a463c06 /lib/backup | |
parent | 3bb3f7ddd073e67fafbc210d0e18c76a87b96dcb (diff) | |
download | gitlab-ce-935b69838488f13586541114e0293e5ef6d79f43.tar.gz |
introduce optional rsyncable flag
Diffstat (limited to 'lib/backup')
-rw-r--r-- | lib/backup/database.rb | 3 | ||||
-rw-r--r-- | lib/backup/files.rb | 4 | ||||
-rw-r--r-- | lib/backup/helper.rb | 9 |
3 files changed, 13 insertions, 3 deletions
diff --git a/lib/backup/database.rb b/lib/backup/database.rb index 8baca500546..cd8e29d14d3 100644 --- a/lib/backup/database.rb +++ b/lib/backup/database.rb @@ -4,6 +4,7 @@ require 'yaml' module Backup class Database + include Backup::Helper attr_reader :progress attr_reader :config, :db_file_name @@ -17,7 +18,7 @@ module Backup FileUtils.mkdir_p(File.dirname(db_file_name)) FileUtils.rm_f(db_file_name) compress_rd, compress_wr = IO.pipe - compress_pid = spawn(*%w(gzip --rsyncable -1 -c), in: compress_rd, out: [db_file_name, 'w', 0600]) + compress_pid = spawn(gzip_cmd, in: compress_rd, out: [db_file_name, 'w', 0600]) compress_rd.close dump_pid = diff --git a/lib/backup/files.rb b/lib/backup/files.rb index 998fa5a1a92..427c65e2d91 100644 --- a/lib/backup/files.rb +++ b/lib/backup/files.rb @@ -31,10 +31,10 @@ module Backup raise Backup::Error, 'Backup failed' end - run_pipeline!([%W(#{tar} --exclude=lost+found -C #{@backup_files_dir} -cf - .), %w(gzip --rsyncable -c -1)], out: [backup_tarball, 'w', 0600]) + run_pipeline!([%W(#{tar} --exclude=lost+found -C #{@backup_files_dir} -cf - .), gzip_cmd], out: [backup_tarball, 'w', 0600]) FileUtils.rm_rf(@backup_files_dir) else - run_pipeline!([%W(#{tar} --exclude=lost+found -C #{app_files_dir} -cf - .), %w(gzip --rsyncable -c -1)], out: [backup_tarball, 'w', 0600]) + run_pipeline!([%W(#{tar} --exclude=lost+found -C #{app_files_dir} -cf - .), gzip_cmd], out: [backup_tarball, 'w', 0600]) end end diff --git a/lib/backup/helper.rb b/lib/backup/helper.rb index 22f00aef569..9e10822f56c 100644 --- a/lib/backup/helper.rb +++ b/lib/backup/helper.rb @@ -29,5 +29,14 @@ module Backup EOS raise message end + + def gzip_cmd + @gzip_cmd ||= if ENV['GZIP_RSYNCABLE'] = 'yes' + "gzip --rsyncable -c -1" + else + "gzip -c -1" + end + end + end end |