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)
|
- Fix closed merge request scope at milestone page (Dmitriy Zaporozhets)
|
||||||
- Revert merge request states renaming
|
- Revert merge request states renaming
|
||||||
- Fix hooks for web based events with external issue references (Daniel Gerhardt)
|
- 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
|
v 7.12.0
|
||||||
- Fix Error 500 when one user attempts to access a personal, internal snippet (Stan Hu)
|
- 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 mkdir db
|
||||||
sudo -u git -H python mysql-postgresql-converter/db_converter.py gitlabhq_production.mysql db/database.sql
|
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.
|
# Replace the MySQL dump in TIMESTAMP_gitlab_backup.tar.
|
||||||
|
|
||||||
# Warning: if you forget to replace TIMESTAMP below, tar will create a new file
|
# Warning: if you forget to replace TIMESTAMP below, tar will create a new file
|
||||||
# 'TIMESTAMP_gitlab_backup.tar' without giving an error.
|
# '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
|
# Done! TIMESTAMP_gitlab_backup.tar can now be restored into a Postgres GitLab
|
||||||
# installation. Remember to recreate the indexes after the import.
|
# installation. Remember to recreate the indexes after the import.
|
||||||
|
|
|
@ -22,9 +22,19 @@ module Backup
|
||||||
end
|
end
|
||||||
report_success(success)
|
report_success(success)
|
||||||
abort 'Backup failed' unless 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
|
end
|
||||||
|
|
||||||
def restore
|
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"]
|
success = case config["adapter"]
|
||||||
when /^mysql/ then
|
when /^mysql/ then
|
||||||
$progress.print "Restoring MySQL database #{config['database']} ... "
|
$progress.print "Restoring MySQL database #{config['database']} ... "
|
||||||
|
@ -48,6 +58,10 @@ module Backup
|
||||||
File.join(db_dir, 'database.sql')
|
File.join(db_dir, 'database.sql')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def db_file_name_gz
|
||||||
|
File.join(db_dir, 'database.sql.gz')
|
||||||
|
end
|
||||||
|
|
||||||
def mysql_args
|
def mysql_args
|
||||||
args = {
|
args = {
|
||||||
'host' => '--host',
|
'host' => '--host',
|
||||||
|
|
Loading…
Reference in a new issue