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---代码库备份的迁移与数据恢复的主要内容,如果未能解决你的问题,请参考以下文章