Gitlab的备份与恢复,异机转移

发布时间 2024-01-09 10:07:43作者: 李济宏(Amadeus)

​注意:异机转移的时候,gitlab的版本必须一致。

一、备份GitLab数据

  1. 停止GitLab服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq 
  1. 创建GitLab备份
mkdir gitlabBack
gitlab-rake gitlab:backup:create BACKUP=gitlabBak230815
cd /var/opt/gitlab/backups/
mv gitlabBak230815_gitlab_backup.tar /root/gitlabBack/

二、 在新服务器(欧拉)上安装GitLab

参看上篇文章:《docker安装gitlab》

三、恢复GitLab备份

  1. 老服务器上传备份到新服务器
    scp /root/gitlabBack/gitlabBak230815_gitlab_backup.tar user@new_server:/root

  2. 新服务器移动备份文件到docker本地路径
    mv gitlabBak230815_gitlab_backup.tar /etc/gitlab/config

  3. 新服务器进入docker,操作Gitlab恢复

docker exec -it gitlab bash
cd /etc/gitlab
ls
mv gitlabBak230815_gitlab_backup.tar /var/opt/gitlab/backups/
#  停止部分Gitlab服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq 
# 恢复GitLab备份
gitlab-rake gitlab:backup:restore BACKUP=gitlabBak230815
gitlab-ctl start

恢复时,如果PostgreSQL报错,请参看下篇:《Gitlab:Restoring PostgreSQL database gitlabhq_production ... ERROR: must be owner of extension pg_trgm》文章。