gitlab 备份

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

sudo  vim  /etc/gitlab/gitlab.rb

默认在这个  路径下面

/var/opt/gitlab/backups

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

gitlab   备份

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

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

gitlab   备份

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

gitlab-ctl  reconfiguregitlab-ctl  restart

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

gitlab   备份

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

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

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

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

执行完成

gitlab   备份

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

gitlab   备份

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

gitlab   备份

数据的恢复操作

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

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

将下面app1  进行删除

gitlab   备份

在admin-area,进入项目。

gitlab   备份

直接点delete,就行了 。

gitlab   备份

删除之后,项目就没了。

gitlab   备份

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

gitlab-ctl stop unicorn
gitlab-ctl stop  sidekiq

gitlab   备份

使用执行进行恢复

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

遇到continue,直接yes 就行了。

gitlab   备份

备份完成后,restart gitlab

gitlab-ctl  restart

gitlab   备份

再次登录 gitlab,项目 就出来了。gitlab   备份

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

gitlab   备份

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

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

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

gitlab   备份

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

相关推荐