写点什么

GitLab 服务的数据备份与恢复

作者:忙着长大#
  • 2022-11-13
    北京
  • 本文字数:548 字

    阅读完需:约 2 分钟

1、停止 gitlab 的写入服务,这样 gitlab 就是只读的,无法写入新的内容。

gitlab-ctl stop unicorn sidekiq

2、执行数据备份的命令

gitlab-rake gitlab:backup:create #在任意目录即可备份当前 gitlab 数据

这个备份命令的备份内容不包括一些配置文件,下面的的重要的文件需要手动备份:

/var/opt/gitlab/nginx/conf #nginx 配置文件

/etc/gitlab/gitlab.rb #gitlab 配置文件

/etc/gitlab/gitlab-secrets.json #key 文件

可以看到备份文件已经生成

root@yt:~# ll /var/opt/gitlab/backups/total 400drwx------  2 git  root   4096 Nov 13 13:50 ./drwxr-xr-x 21 root root   4096 Nov 13 12:02 ../-rw-------  1 git  git  399360 Nov 13 13:50 1668347400_2022_11_13_15.4.3_gitlab_backup.tar
复制代码

3、将 gitlab 的写入服务启动

gitlab-ctl start unicorn sidekiq

4、执行删除或误提交数据模拟故障

我们将仓库中的代码删除

5、执行恢复操作

# gitlab-ctl stop unicorn sidekiq #停止服务

##注意这里的备份文件不要写多余的后缀,会提示找不到。。

gitlab-rake gitlab:backup:restore BACKUP=1668347400_2022_11_13_15.4.3#unix 时间戳、备份年月日、版本号

gitlab-ctl start unicorn sidekiq #启动服务

6、可以看到已经恢复了,但是注意这个只能回退到备份的那个时间点的数据,那个时间点后的新数据就丢失了。


用户头像

忙着长大#

关注

还未添加个人签名 2022-02-09 加入

还未添加个人简介

评论

发布
暂无评论
GitLab 服务的数据备份与恢复_gitlab_忙着长大#_InfoQ写作社区