diff options
| author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-08-04 16:42:36 +0200 |
|---|---|---|
| committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-08-04 16:42:36 +0200 |
| commit | b48b07044b919c07de34434aea7cdba13d7c38a6 (patch) | |
| tree | 5a6d9d8de1048280a595825aa5f47464455ad670 /lib/backup/manager.rb | |
| parent | c17f5d06aa4a55a8446928ea6b690ae8e09ce237 (diff) | |
| parent | 326b827ce39f998ce75f58e9f649e6b50623f1aa (diff) | |
| download | gitlab-ce-b48b07044b919c07de34434aea7cdba13d7c38a6.tar.gz | |
Merge branch 'master' into drop-satellites
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'lib/backup/manager.rb')
| -rw-r--r-- | lib/backup/manager.rb | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/backup/manager.rb b/lib/backup/manager.rb index 6fa2079d1a8..13c68d9354f 100644 --- a/lib/backup/manager.rb +++ b/lib/backup/manager.rb @@ -16,18 +16,16 @@ module Backup file << s.to_yaml.gsub(/^---\n/,'') end - FileUtils.chmod(0700, folders_to_backup) - # create archive $progress.print "Creating backup archive: #{tar_file} ... " - orig_umask = File.umask(0077) - if Kernel.system('tar', '-cf', tar_file, *backup_contents) + # Set file permissions on open to prevent chmod races. + tar_system_options = {out: [tar_file, 'w', Gitlab.config.backup.archive_permissions]} + if Kernel.system('tar', '-cf', '-', *backup_contents, tar_system_options) $progress.puts "done".green else puts "creating archive #{tar_file} failed".red abort 'Backup failed' end - File.umask(orig_umask) upload(tar_file) end |
