gitlab从78服务器迁移到70服务器
前提条件是78服务器和70服务器的gitlab需要是相同的版本
1、在78服务器执行以下指令,暂停gitlab外部服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
2、在78服务器备份,1分钟
创建备份目录
mkdir -p /opt/backup/gitlab0217_1/db
执行备份指令,默认备份在/var/opt/gitlab/backups
gitlab-rake gitlab:backup:create
将备份文件拷贝到备份目录/opt/backup/gitlab0217_1/db/
cp -r /var/opt/gitlab/backups/1645094181_2022_02_17_12.3.9_gitlab_backup.tar /opt/backup/gitlab0217_1/db/
3、在78服务器执行,启动服务,如果迁移后不再使用,可以不执行该指令
gitlab-ctl restart
4、在70服务器执行指令,创建备份目录,用来存放78服务器的备份文件
mkdir -p /opt/backup/gitlab0217_1/db
5、在70服务器执行指令,将78服务器的备份文件拷贝到70服务器,需要输入密码
scp -r root@192.168.10.78:/opt/backup/gitlab0217_1/db/1645094181_2022_02_17_12.3.9_gitlab_backup.tar /opt/backup/gitlab0217_1/db/
6、在70服务器执行指令,暂停70服务器的gitlab外部服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl stop nginx
7、在70服务器执行指令,将备份文件拷贝到准备还原的目录/var/opt/gitlab/backups/
cp -r /opt/backup/gitlab0217_1/db/1645094181_2022_02_17_12.3.9_gitlab_backup.tar /var/opt/gitlab/backups/
8、在70服务器执行指令,为备份文件授权git账号,让备份文件归属git账号
chown git:git /var/opt/gitlab/backups/1645094181_2022_02_17_12.3.9_gitlab_backup.tar
9、在70服务器执行指令,还原数据,过程中提升删表并恢复数据,输入yes
gitlab-rake gitlab:backup:restore BACKUP=1645094181_2022_02_17_12.3.9
10、在70服务器执行指令,重启gitlab服务
gitlab-ctl restart