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

Posted 江晓龙的技术博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.删除项目

点击项目---设置---通用---高级展开---删除项目

页面依旧没有new_project项目

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

还原过程:

输入yes

输入yes

1.5.还原成功


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

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

[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)查看文件内容

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

5)到此还原成功,然后将项目提交到git上即可完成还原

以上是关于gitlab备份恢复 #yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#常用的 Linux 系统备份恢复命令

#yyds干货盘点#分享今天刚发现的一个WPS非常好的功能

#yyds干货盘点#centos根目录被占满,如何看磁盘空间被什么文件占用(遇到隐藏文件查看不到的坑)

#yyds干货盘点#Centos下安装gitlab常遇到的问题及解决方案

gitlab用户用户组项目之间的关系 #yyds干货盘点#

#yyds干货盘点#Centos7环境下手把手教你安装Gitlab代码管理工具