Commit 69c659eb authored by Kamil Trzcinski's avatar Kamil Trzcinski

Compress database backup

parent 17446ff0
......@@ -51,6 +51,8 @@ v 7.12.1
- Fix closed merge request scope at milestone page (Dmitriy Zaporozhets)
- Revert merge request states renaming
- Fix hooks for web based events with external issue references (Daniel Gerhardt)
- Improve performance for issue and merge request pages
- Compress database dumps to reduce backup size
v 7.12.0
- Fix Error 500 when one user attempts to access a personal, internal snippet (Stan Hu)
......@@ -57,12 +57,15 @@ sudo -u git -H git clone
sudo -u git -H mkdir db
sudo -u git -H python mysql-postgresql-converter/ gitlabhq_production.mysql db/database.sql
# Compress database backup
sudo -u git -H gzip db/database.sql
# Replace the MySQL dump in TIMESTAMP_gitlab_backup.tar.
# Warning: if you forget to replace TIMESTAMP below, tar will create a new file
# 'TIMESTAMP_gitlab_backup.tar' without giving an error.
sudo -u git -H tar rf TIMESTAMP_gitlab_backup.tar db/database.sql
sudo -u git -H tar rf TIMESTAMP_gitlab_backup.tar db/database.sql.gz
# Done! TIMESTAMP_gitlab_backup.tar can now be restored into a Postgres GitLab
# installation. Remember to recreate the indexes after the import.
......@@ -22,9 +22,19 @@ def dump
abort 'Backup failed' unless success
$progress.print 'Compressing database ... '
success = system('gzip', db_file_name)
abort 'Backup failed: compress error' unless success
def restore
$progress.print 'Decompressing database ... '
success = system('gzip', '-d', db_file_name_gz)
abort 'Restore failed: decompress error' unless success
success = case config["adapter"]
when /^mysql/ then
$progress.print "Restoring MySQL database #{config['database']} ... "
......@@ -48,6 +58,10 @@ def db_file_name
File.join(db_dir, 'database.sql')
def db_file_name_gz
File.join(db_dir, 'database.sql.gz')
def mysql_args
args = {
'host' => '--host',
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment