赞
踩
1,用容器启动备份
- # docker run -d --hostname gitlab.example.com\
- -p 443:443 -p 8181:80 -p 2222:22 \
- --name gitlab \
- --restart always \
- -v /srv/gitlab/config:/etc/gitlab \
- -v /srv/gitlab/logs:/var/log/gitlab \
- -v /srv/gitlab/data:/var/opt/gitlab \
- -v /etc/localtime:/etc/localtime
- gitlab/gitlab-ce:latest
- #! /bin/bash
- case "$1" in
- start)
- docker exec gitlab gitlab-rake gitlab:backup:create
- ;;
- esac
0 2 * * * /root/gitlab_backup.sh start
2,源码安装备份
gitlab-rake gitlab:backup:create
- [root@git ~]# ls /var/opt/gitlab/backups/
- 1598285070_2020_08_25_10.0.0_gitlab_backup.tar
3,查看gitlab版本
- [root@git backups]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- 10.0.0
4,还原
今天被开发删掉2个组,10多个项目,还好我有备份
安装gitlab-ce
- [root@localhost backups]# cat /etc/yum.repos.d/gitlab-ce.repo
- [gitlab-ce]
- name=Gitlab CE Repository
- baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
- gpgcheck=0
- enabled=1
安装指定版本,如果不加,则最新版本
- yum repolist
- yum install gitlab-ce-10.0.0
gitlab-rake gitlab:backup:restore BACKUP=[备份版本号]
还原会清空Gitlab工作空间原有的数据,因而谨慎!谨慎!再谨慎!!!
mv 1606760073_2020_12_01_10.0.0_gitlab_backup.tar /var/opt/gitlab/backups/
- [root@localhost backups]# grep -Ev "^$|^[#;]" /etc/gitlab/gitlab.rb
- external_url 'http://10.1.234.243'
- gitlab_rails['time_zone'] = 'Asia/Shanghai'
启动gitlab
- gitlab-ctl start
- gitlab-ctl status
- gitlab-ctl reconfigure
把备份文件移动到指定路劲
mv 1606760073_2020_12_01_10.0.0_gitlab_backup.tar /var/opt/gitlab/backups/
以防万一加了个权限
chmod 777 /var/opt/gitlab/backups/1606760073_2020_12_01_10.0.0_gitlab_backup.tar
开始导入
停止相关数据连接服务
- gitlab-ctl stop unicorn
- gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1606760073_2020_12_01_10.0.0
在还原的过程中,其会提示该操作会清空原有的数据信息,是否继续,如果确认要继续,直接输入yes
并回车
当数据还原后结束后,系统会提示是否重建文件认证秘钥,该秘钥在如下文件中:
/etc/gitlab/gitlab-secrets.json
一般情况下,我们直接选择yes
并回车
当我们看到下述信息时,这说明我们的Gitlab还原操作已经完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。