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干货盘点#centos根目录被占满,如何看磁盘空间被什么文件占用(遇到隐藏文件查看不到的坑)