gitlab备份恢复 #yyds干货盘点#

2022年05月13日 阅读数:2
这篇文章主要向大家介绍gitlab备份恢复 #yyds干货盘点#,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

1.gitlab备份恢复

1.1.修改gitlab备份路径

[root@gitlab ~]# vim /etc/gitlab/gitlab.rb 
gitlab_rails['backup_path'] = "/data/gitlab_bak"            #gitlab备份存放路径
gitlab_rails['backup_keep_time'] = 604800               #保留多长时间的文件,以秒来算,这里表示7天

1.2.备份gitlab全部项目

[root@gitlab ~]# gitlab-rake gitlab:bakcup:create
备份结束后会看到在/data/gitlab_bak这个路径有一个tar包

若是但愿天天备份能够经过cron计划任务来实现

在这里插入图片描述

1.3.删除项目

点击项目---设置---通用---高级展开---删除项目
在这里插入图片描述git

页面依旧没有new_project项目vim

在这里插入图片描述

1.4经过备份还原项目

1)首先停掉gitlab的sidekiq、unicorn进程
[root@gitlab ~]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@gitlab ~]# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up

2)还原
[root@gitlab ~]# ls /data/gitlab_bak/
1598174503_2020_08_23_12.0.3_gitlab_backup.tar
[root@gitlab ~]# gitlab-rake gitlab:backup:restore BACKUP=1598174503_2020_08_23_12.0.3          #只复制到版本位置

3)重启gitlab
[root@gitlab ~]# gitlab-ctl restart

还原过程:markdown

输入yes运维

在这里插入图片描述

输入yeside

20200823173033992

1.5.还原成功

在这里插入图片描述
在这里插入图片描述

2.扩展:从全备中恢复单个项目

1)进入具体的项目备份路径gitlab

[root@gitlab-bak-20-166 20210426]# cd repositories/technologyCenter/

2)能够看到有不少bundle结尾的文件测试

[root@gitlab-bak-20-166 technologyCenter]# ls
daily  freeShare.bundle  freeShare.wiki.bundle  onlineProblem  standardAndSystem.bundle  weekly.bundle  weekly.wiki.bundle

3)找到对应项目的bundle文件而后使用git clone便可还原出来文件设计

[root@gitlab-bak-20-166 technologyCenter]# git clone weekly.bundle
正克隆到 'weekly'...
接收对象中: 100% (18181/18181), 49.98 MiB | 42.31 MiB/s, done.
处理 delta 中: 100% (10621/10621), done.

4)查看文件内容3d

[root@gitlab-bak-20-166 technologyCenter]# ls weekly
测试支持部  产品设计部  技术运维部  平台开发部  西安研发部  中心例会周报  周报模板

5)到此还原成功,而后将项目提交到git上便可完成还原
在这里插入图片描述rest