Gitlab管理与备份恢复

2021-04-14  本文已影响0人  阿当运维

gitlab常用管理命令


image.png

Gitlab备份与恢复

gitlab-rake gitlab:backup:create

备份配置文件:

gitlab-ctl backup-etc
* * * * * docker exec -it  gitlab (容器名)  gitlab-rake gitlab:backup:create
* * * * * docker exec -it  gitlab (容器名)  gitlab-rake gitlab-ctl backup-etc

默认备份文件在/var/opt/gitlab/backups
想要修改备份路径打开 /etc/gitlab/gitlab.rd
找到“# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" 取消注释,并修改,最后重启容器或者gitlab重载。

 gitlab_rails['manage_backup_path'] = true
 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
 gitlab_rails['backup_keep_time'] = 604800

打开这三项注释。 backup_keep_time 默认单位是秒。 意思是多少天以前的归档备份都会被清理。
最后重载配置。

恢复gitlab(模拟docker容器挂掉)

1.准备新环境
注意:git恢复数据需要新老gitlab 版本一致。如果是docker安装的版本,在部署新系统也要拉取之前gitlab指定版本,不能再用最新了。如(docker pull gitlab/gitlab-ce:13.10.2-ce.0)

docker rm -f  gitlab
mv /opt/gitlab /opt/gitlab.bak
#启动一个新容器
mkdir /opt/gitlab
docker run -d  -p 443:443 -p 85:80 -p 2222:22 --name gitlab --restart always \
 -v /opt/gitlab/config:/etc/gitlab \
 -v /opt/gitlab/logs:/var/log/gitlab \
 -v  /opt/gitlab/data:/var/opt/gitlab    gitlab/gitlab-ce

输入地址,可看到是gitlab上一个全新的项目,无内容。

2.拷贝备份文件
#宿主机上,切到docker之前持久化数据目录下

cd /opt
cp gitlab.bak/data/backups/1618306241_2021_04_13_13.10.2_gitlab_backup.tar
gitlab/data/backups/

3.停止写库服务
#进到gitlab容器里

chown -R git.git /var/opt/gitlab/backups
 gitlab-ctl stop unicorn
 gitlab-ctl stop puma
 gitlab-ctl stop sidekiq

4.恢复数据

gitlab-rake gitlab:backup:restore BACKUP=1618306241_2021_04_13_13.10.2

5.恢复配置文件
#宿主机操作(将以前gitlab备份的配置文件拷贝到新的里)

cd /opt
cp  gitlab.bak/config/config_backup/gitlab_config_1618306549_2021_04_13.tar  /opt/gitlab/config/
cd  /opt/gitlab/config/    #新容器持久化目录对应容器内 /etc/gitlab
tar xvf gitlab_config_1618306549_2021_04_13.tar

#容器操作

cd /etc/gitlab
cp -rf etc/gitlab/*  /etc/gitlab/  #备份配置文件解压后,会再次出现一个etc文件夹,里面是旧配置备份,考到新的下面即可

重载配置

gitlab-ctl reconfigure

等待。。。。输入地址,恢复如初。


image.png

备份建议:每周备份一次持久化目录/opt/gitlab到备份服务器,这样docker在启动容器都可以直接用拉起这些数据

上一篇下一篇

猜你喜欢

热点阅读