Gitlab---代码库备份的迁移与数据恢复

Posted --山海--

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Gitlab---代码库备份的迁移与数据恢复相关的知识,希望对你有一定的参考价值。


Gitlab 代码库迁移恢复

前言

承接之前写过的公司gitlab代码库备份文档,此文档为对进行备份的gitlab代码库备份包进行数据迁移恢复测试。

首先,执行备份的脚本如下:

执行完脚本,备份包存于/data/gitlab_backup目录下,scp此目录下的所有文件到备份恢复测试机

scp /data/gitlab_backup/* root@10.*.*.*:/home/backup

1. docker容器恢复

首先,启动docker

systemctl start docker
systemctl enable docker

然后,将gitlab的docker镜像的备份tar包加载成镜像

docker load -i  gitlab_image_backup_2021-09-03.tar.gz

#查看镜像
docker images

#启动容器,并设置端口映射
docker run -itd -p 9180:9180 -p 9443:443 -p 9022:9022 5ff8172ebbfd  #docker 镜像ID

#查看容器状态
docker ps -a

效果如下

至此,gitlab的docker容器已恢复成功,下面开始进行gitlab代码库的恢复。

2. gitlab代码库恢复

拷贝本地的gitlab代码库备份文件到容器内,并赋予权限

docker cp /home/backup/1630657992_2021.09.03_13.2.6_gitlab_backup.tar 8ff130655419:/var/opt/gitlab/backups

#进入容器内
docker exec -it 8ff130655419 /bin/bash
#赋予备份包权限
chmod -R 777 /var/opt/gitlab/backups

将压缩包拷进之后,对gitlab.rb文件和nginx下的gitlab-http.conf文件进行编辑,将gitlab.rb文件中的external_url 修改为本地ip+端口号

external_url 'http://10.*.*.*:9180'

wq保存退出,进行nginx配置文件的修改
如图所示

修改地方如下

listen *:9180;
server_name 10.*.*.*;

set $http_host_with_default "10.*.*.*:9180";

wq保存退出,执行gitlab-ctl reconfigure,使配置生效。

然后进行代码库恢复

gitlab-rake gitlab:backup:restore BACKUP=1630657992_2021.09.03_13.2.6 #注意,此处为备份包编号,不是整个备份包的名称

#出现交互界面,输入yes,直至恢复完成。

代码库恢复结束后,重启gitlab服务gitlab-ctl restart,并查看服务状态gitlab-ctl status

浏览器访问本地ip+端口号,输入原来的管理员账号密码,登陆成功,代码库数据无丢失,至此恢复成功。



以上是关于Gitlab---代码库备份的迁移与数据恢复的主要内容,如果未能解决你的问题,请参考以下文章

Gitlab备份恢复与迁移

使用Gitlab一键安装包后的日常备份恢复与迁移

使用Gitlab一键安装包后的日常备份恢复与迁移

使用Gitlab一键安装包后的日常备份恢复与迁移

一键安装Gitlab后的备份迁移与恢复

gitlab的备份与恢复与迁移