GitLab 服务的数据备份与恢复
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 文件
可以看到备份文件已经生成
复制代码
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、可以看到已经恢复了,但是注意这个只能回退到备份的那个时间点的数据,那个时间点后的新数据就丢失了。
评论