1.备份数据
gitlab-rake gitlab:backup:create #执行命令备份数据库
这是会自动备份到backups这个目录下面的,备份文件前面的一串数字就是时间戳,还原时候回用到!
2.使用scp命令把备份的数据拷贝到新的服务器上面去(我用的是免密传输)
scp -r 1563788420_2019_07_22_10.4.2_gitlab_backup.tar root@192.168.1.1:~
3.到新服务器把刚才拷过来的备份文件放在backps目录下面:
cp -rf /root/1563788420_2019_07_22_10.4.2_gitlab_backup.tar /var/opt/gitlab/backups/
4.执行还原数据的命令(或者说是导入数据到新服务器)
gitlab-rake gitlab:backup:restore BACKUP=1563788420_2019_07_22_10.4.2 #这个及时还原要用到的时间戳
还原要是报错了:
(1)自己gitla没有关闭,还原前记得关闭再还原
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
(2)1563788420_2019_07_22_10.4.2_gitlab_backup.tar 记得授权这个文件
chown -R gitlab.root 1563788420_2019_07_22_10.4.2_gitlab_backup.tar
(3)旧服务器的版本gitlab版本和新的服务器版本是不通的
解决方法,那就只能升级了,保持两个版本是一样的,在备份还原才行
5.最后启动gitlab
gitalb-ctl restart
有时候在还原后会出现点击project出现500现象,若出现此现象请执行下面命令:
gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"