Gitlab数据的备份和迁移

本文介绍如何使用Docker创建Gitlab备份及恢复流程,并详细解释了如何将Gitlab从一台服务器迁移到另一台服务器的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gitlab备份

都说云主机很安全,但是总觉得没个备份心里不踏实。之前Gitlab的运行命令如下:

sudo docker run --detach     --hostname gitlab.xxx.com     --publish 443:443 --publish 80:80 --publish 1024:1024     --name gitlab     --restart always     --volume /srv/gitlab/config:/etc/gitlab     --volume /srv/gitlab/logs:/var/log/gitlab     --volume /srv/gitlab/data:/var/opt/gitlab     docker.io/gitlab/gitlab-ce:latest

数据挂载在/srv/gitlab目录下。

备份命令:

docker exec -t gitlab gitlab-rake gitlab:backup:create

创建Gitlab的备份,备份文件位于/srv/gitlab/data/backups目录下,生成的文件名如1548648399_2019_01_28_11.0.1_gitlab_backup.tar,其中11.0.1是当前gitlab的版本号,恢复时使用的gitlab必须是同样的版本号,否则没法进行恢复。该文件里面包含了所有user、group、git repository数据。

Gitlab迁移

1> 准备好新机器、安装docker

2> 拉相应版本的gitlab-ce镜像

docker pull gitlab/gitlab-ce:11.0.1-ce.0

3> 运行全新Gitlab容器

sudo docker run --detach     --hostname gitlab.xxx.com     --publish 443:443 --publish 80:80 --publish 1024:1024     --name gitlab     --restart always     --volume /srv/gitlab/config:/etc/gitlab     --volume /srv/gitlab/logs:/var/log/gitlab     --volume /srv/gitlab/data:/var/opt/gitlab     docker.io/gitlab/gitlab-ce:11.0.1-ce.0

4> 复制备份文件到backups目录

# 停掉gitlab容器
docker stop gitlab

# 复制备份文件
cp 1548648399_2019_01_28_11.0.1_gitlab_backup.tar /srv/gitlab/data/backups/

# 重启gitlab容器
docker start gitlab

5> 进入gitlab容器,恢复Gitlab数据

# 进入GITLAB
docker exec -it gitlab /bin/bash

# 停止数据服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

# 检查状态
gitlab-ctl status

# 数据恢复
sudo gitlab-rake gitlab:backup:restore BACKUP=1548648399_2019_01_28_11.0.1

# 重启并验证

sudo gitlab-ctl restart
sudo gitlab-rake gitlab:check SANITIZE=true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值