目录
前阵子在服务器上测试了gtlab备份的还原,现在考虑全部备份太大了,就忽略了artifacts,测试忽略artifacts后的备份数据的一致性。
1.停止gitlab
gitlab-ctl stop
2、卸载gitlab
rpm -e gitlab-ce
3、查看gitlab进程
ps aux | grep gitlab
4、杀掉带很多点点的进程:
kill -9 26872
5、删除所有包含gitlab文件
sudo find / -name gitlab | xargs sudo rm -rf
1、将忽略了artifacts的备份文件拷贝过来后,开始重新安装Gitlab
rpm -ivh gitlab-ce-15.4.0-ce.0.el7.x86_64.rpm
2、设置配置文件
vim /etc/gitlab/gitlab.rb
3、重载配置
gitlab-ctl reconfigure
卡住了,后来人为停止后查看状态报错
解决办法:
重启gitlab-runsvdir服务并重新加载配置并重启
- systemctl restart gitlab-runsvdir
-
- gitlab-ctl reconfigure
-
- gitlab-ctl restart
4、设置root账户和密码
5、浏览器访问:http://172.16.67.191:8089/ root/password ,可以看到这是一个全新的gitlab服务器
6、将忽略了artifacts的备份拷贝到 /var/opt/gitlab/backups目录下,进行备份恢复
gitlab-rake gitlab:backup:restore BACKUP=1666717259_2022_10_26_15.4.0
7、恢复后浏览器访问测试,发现root密码已经不是刚才设置的password了,而是备份的那个服务器上的gitlab的root密码。
点群组的runner时会500,不知道是不是因为没有备份 artifacts的缘故,所以将本次备份卸载,还原一份全量备份进行测试。
结果:还是会报500的错。
解决办法:备份文件中的秘钥文件gitlab-secrets.json没有拷贝回去。
1、将原服务器的gitlab-secrets.json覆盖到新的服务器中,该文件在/etc/gitlab目录
2、执行gitlab-ctl reconfigure命令使配置生效
3、重启服务 gitlab-ctl restart ,然后再访问就正常了