gitlab 备份

Posted rockyricky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gitlab 备份相关的知识,希望对你有一定的参考价值。

在配置文件有有默认的  备份路劲

 sudo  vim  /etc/gitlab/gitlab.rb

默认在这个  路径下面

/var/opt/gitlab/backups

然后默认的备份时间是  7天 ,604800秒。 保留7天的数据。

技术图片

 

 

 

 

然后这边我们自定义,备份的时间和路径。 这边我们修改下 ,一般时间(7天)不动。

目录 不需要我们手动创建,    gitlab-ctl reconfigure   的时候,会自动创建目录。

技术图片

 

 

 

修改完成后, 重新加载配置,重启gitlab

gitlab-ctl  reconfigure
gitlab-ctl  restart

 

我们检查新生成的目录, 在root里面。

技术图片

 

 

 有的实际场景需要。 可以给他重新授权。  非必要操作。

chown  -r   git.git  /home/data/gitlab/backups/

 

然后我们可以手动执行一次,

 /usr/bin/gitlab-rake gitlab:backup:create                   #备份指令 

执行完成

技术图片

 

 

 

然后查看备份目录,多了.tar的备份的文件。 文件前面部分其实是unix的时间戳

技术图片

 

 

 

然后我们把它写在crontab  里面。 就能自动执行了。

 

技术图片

 

 

 

 

数据的恢复操作

当我们在生产环境中进行了误操作,可以使用备份的数据进行恢复。

我们这边首先将 gitlab上的 项目删除。

将下面app1  进行删除

技术图片

 

 

 

在admin-area,进入项目。

技术图片

 

 

 

直接点delete,就行了 。

技术图片

删除之后,项目就没了。

技术图片

 

 

现在我们按流程进行数据恢复。 先关闭以下服务

gitlab-ctl stop unicorn
gitlab-ctl stop  sidekiq

 

技术图片

 

 

使用执行进行恢复

/usr/bin/gitlab-rake gitlab:backup:restore  BACKUP=1572598604_2019_11_01_11.0.3
#这边的数字,就是备份文件的时间戳,需要注意。

 

遇到continue,直接yes 就行了。

技术图片

 

 

 

备份完成后,restart gitlab

gitlab-ctl  restart

 

 

技术图片

 

 

再次登录 gitlab,项目 就出来了。技术图片

 

 进入项目后查看下, 之前的代码 应该都在。

技术图片

 

 

 

还有一种方法不推荐,只是参考下

他所有的代码其实在 gitlab 自己的 repositories  下面

ll /var/opt/gitlab/git-data/repositories/proj1/

技术图片

 

只备份代码的话。备份这个 .git的文件也可以。。
但是 所有的用户关系并不在里面。只是纯代码。  所有 不推荐这种方法。 可能尴尬的时候能用下。 上面那种用工具备份恢复 是最好的 。

 

以上是关于gitlab 备份的主要内容,如果未能解决你的问题,请参考以下文章

gitlab 自动备份与清理

gitlab安装,使用,备份,恢复

gitlab备份恢复升级

gitlab备份还原

gitlab 备份和恢复

Ubuntu Gitlab 备份代码服务器