summaryrefslogtreecommitdiff
path: root/lib/backup/database.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2015-07-31 14:34:53 +0200
committerDouwe Maan <douwe@gitlab.com>2015-07-31 14:34:53 +0200
commit51e5f379dd69837d3405c78e5ef6ce3727939f3c (patch)
treeec0404f8af61a712c25fb43a4bf21e2ff0349098 /lib/backup/database.rb
parent1c7a8b8c27398250983bf4329007f6971df65f34 (diff)
parenta51a3fb8ed92a58b375125b19f75c3d4c545571a (diff)
downloadgitlab-ce-51e5f379dd69837d3405c78e5ef6ce3727939f3c.tar.gz
Merge branch 'master' into api-useremails
Diffstat (limited to 'lib/backup/database.rb')
-rw-r--r--lib/backup/database.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/backup/database.rb b/lib/backup/database.rb
index c5a5396cbbf..bbb230a10f0 100644
--- a/lib/backup/database.rb
+++ b/lib/backup/database.rb
@@ -7,7 +7,11 @@ module Backup
def initialize
@config = YAML.load_file(File.join(Rails.root,'config','database.yml'))[Rails.env]
@db_dir = File.join(Gitlab.config.backup.path, 'db')
- FileUtils.mkdir_p(@db_dir) unless Dir.exists?(@db_dir)
+ FileUtils.rm_rf(@db_dir)
+ # Ensure the parent dir of @db_dir exists
+ FileUtils.mkdir_p(Gitlab.config.backup.path)
+ # Fail if somebody raced to create @db_dir before us
+ FileUtils.mkdir(@db_dir, mode: 0700)
end
def dump
@@ -25,7 +29,6 @@ module Backup
abort 'Backup failed' unless success
$progress.print 'Compressing database ... '
- FileUtils.rm_f db_file_name_gz
success = system('gzip', db_file_name)
report_success(success)
abort 'Backup failed: compress error' unless success