Merge branch 'compress-db' into 'master'
Compress database backup Restore handles both cases: uncompressed and compressed backup. As an improvement `IO.popen` can be used. /cc @jacobvosmaer See merge request !873
This commit is contained in:
commit
474d798c42
3 changed files with 20 additions and 1 deletions
|
@ -53,6 +53,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 https://github.com/gitlabhq/mysql-postgresql-converter.
|
|||
sudo -u git -H mkdir db
|
||||
sudo -u git -H python mysql-postgresql-converter/db_converter.py 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 @@ module Backup
|
|||
end
|
||||
report_success(success)
|
||||
abort 'Backup failed' unless success
|
||||
|
||||
$progress.print 'Compressing database ... '
|
||||
success = system('gzip', db_file_name)
|
||||
report_success(success)
|
||||
abort 'Backup failed: compress error' unless success
|
||||
end
|
||||
|
||||
def restore
|
||||
$progress.print 'Decompressing database ... '
|
||||
success = system('gzip', '-d', db_file_name_gz)
|
||||
report_success(success)
|
||||
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 @@ module Backup
|
|||
File.join(db_dir, 'database.sql')
|
||||
end
|
||||
|
||||
def db_file_name_gz
|
||||
File.join(db_dir, 'database.sql.gz')
|
||||
end
|
||||
|
||||
def mysql_args
|
||||
args = {
|
||||
'host' => '--host',
|
||||
|
|
Loading…
Reference in a new issue