gitlab备份与恢复

 

记录一下,以免忘记,也希望能给到大家一些小小的帮助~

一、备份

本文的gitlab是基于docker启动的,如果是非docker启动,备份方式也基本没有区别

首先进入容器:

docker exec -it 容器id bash

执行命令:

gitlab-rake gitlab:backup:create

等待完成即可,备份完成后文件位置如下:

容器内:

/var/opt/gitlab/backups

宿主机上的备份文件地址看你docker run的时候指定的挂载关系了,我的宿主机备份文件地址是:

/home/gituser/srv/gitlab/data/backups/1549001973_2019_02_24_10.8.4_gitlab_backup.tar

好了备份到这边就结束了,具体实现每日自动备份,可以写个脚本用crontab运行,希望可视化好一点的话就配置个jenkins job。

二、使用备份文件恢复gitlab

1.首先需要准备一个与当前gitlab版本一致的gitlab镜像

比如我现在用的gitlab是10.8.4,那么就需要准备一个10.8.4版本的gitlab镜像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
gitlab/gitlab-ce    10.8.4-ce.0         a6cd10f85c07        8 months ago        1.47GB

2.基于这个镜像启动一个容器

sudo docker run --detach \ --hostname gitlab.example.com \ --publish 443:443 --publish 8082:80 --publish 2222:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ gitlab/gitlab-ce:10.8.4-ce.0

3.容器启动完成后进入这个容器

docker exec -it 容器id bash

4.将宿主机的备份文件拷贝到容器的/var/opt/gitlab/backups 下面

docker cp 宿主机的文件路径 容器ID:容器内部路径

例如:

docker cp /home/gituser/srv/gitlab/data/backups/1549001973_2019_02_24_10.8.4_gitlab_backup.tar 8dac4e884274(容器ID):/var/opt/gitlab/backups 

5.给备份文件777的权限

 chmod 777 1549001973_2019_02_24_10.8.4_gitlab_backup.tar

6.重命名备份文件,文件名不规范会导致恢复失败。

mv 1549001973_2019_02_24_10.8.4_gitlab_backup.tar 1549001973_gitlab_backup.tar 

7.停止相关数据连接服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

8.恢复gitlab数据

gitlab-rake gitlab:backup:restore BACKUP=备份文件编号

例如本文例子中的恢复的命令就是:

gitlab-rake gitlab:backup:restore BACKUP=1549001973

9.等待备份完成之后,在容器内重启gitlab服务

gitlab-ctl restart

10.访问备份完成后的gitlab地址:

以本文为例,由于在docker run的时候指定的端口映射是 (宿主机)8082 ---> 80(docker 容器),

因此访问地址是   宿主机ip + 8082

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值