
大体尘仿孝思路派稿为,先将原gitlab进行备份,然后将备份文件拷贝到新的gitlab机器上进行还原 *** 作。
1.停止gitlab
2.拷大陵贝文件
3.重启gitlab
1.查看配置文件
2.加一个定时任务每周备份
3.增加一个删除脚本,用来清理太过久远的备份文件(备份文件都比较大,多了以后占用太多空间)
该脚本可以在备份机和gitlab的机器上都放一个
4.命令集合
需求场景:
某个仓库数据丢失,被force覆盖等,导致历史提交无法恢复。只想恢复特定的个别仓库。
关键步骤:
1.拿到gitlab服务的备份包,比如每天备份一次,想恢复到哪天拿哪天的,翻车之前。解压缩备份数信包,进入仓库备颂迹份目录薯樱轮下@hashed,看到很多乱码一样的文件夹名。
2.回到gitlab查看想要恢复的项目project id。前述乱码其实是hash码,随便找个在线工具或者linux命令,sha256sum,获得此仓库的hashed名称。
3.在前述解压的目录下找到对应hashed名称,发现下面有个bundle文件和一个空的目录。只需要git clone 这个bundle文件即可恢复备份的此项目。
后面就是按自己需求重新提交git等了。
gitlab的备份默认是放在正歼AWS上,可以通过修改配置文件备份至阿里云OSS
修改 /opt/gitlab/etc/gitlab.rb 文件里的如下内容
进入容器执行 gitlab-ctl reconfigre 让上步的配置生效
重启容器 docker restart gitlab
在容器中执行 gitlab-rake gitlab:backup:create ,等命令成功结束后,到阿里云的OSS桶中检查,就会发现备模厅份文举码冲件已经自动上传, 在你设置的备份路径下的 1508412719_2017_10_19_10.0.2_gitlab_backup.tar 文件
注意 gitlab.rb 与 gitlab-secrets.json 文件可能会备份失败, 需要手动将这两个文件备份
这两个文件所在目录为 /opt/gitlab/etc 下面
开启一个新的gitlab环境, 版本必须与之前的备份的版本一样
等待片刻后输入两次 yes 完成恢复
参考自以下链接:
https://www.cnblogs.com/straycats/p/7702271.html
https://www.jianshu.com/p/bb25ff793000
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)