1、停止gitlab数据服务

root@gitlab-server:~/web1# gitlab-ctl stop unicorn
ok: down: unicorn: 0s, normally up
root@gitlab-server:~/web1# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up

2、手动备份数据

root@gitlab-server:~/web1# gitlab-rake gitlab:backup:create     #在任意目录即可备份当前gitlab数据

image.png

root@gitlab-server:~/web1#  gitlab-ctl start
root@gitlab-server:~/web1# gitlab-ctl start unicorn 
ok: run: unicorn: (pid 36839) 20s
root@gitlab-server:~/web1# gitlab-ctl start sidekiq 
ok: run: sidekiq: (pid 36836) 28s

也可以写个脚本备份

root@gitlab-server:~/web1# vim gitlab_backup.sh
#!/bin/bash                                                                                                                           
# 
#********************************************************************
#Author:                jiangmin
#QQ:                    1461918614
#Date:                  2021-08-30
#FileName:             gitlab_backup.sh
#Description:          The test script
#Copyright (C):         2021 All rights reserved
#********************************************************************
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:create
gitlab-ctl start
gitlab-ctl start unicorn
gitlab-ctl start sidekiq

3、查看要恢复的文件

/var/opt/gitlab/backups/           # Gitlab数据备份目录,需要使用命令备份的
/var/opt/gitlab/nginx/conf         # nginx配置文件 
/etc/gitlab/gitlab.rb              # gitlab配置文件
/etc/gitlab/gitlab-secrets.json    # key文件

image.png

4、执行恢复

删除一些数据,测试能否恢复

image.png

root@gitlab-server:~/web1# gitlab-ctl stop unicorn 
ok: down: unicorn: 1s, normally up
root@gitlab-server:~/web1# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
root@gitlab-server:~/web1# gitlab-rake gitlab:backup:restore BACKUP=1630325554_2021_08_30_11.11.8

image.png image.png

5、启动服务

root@gitlab-server:~/web1# gitlab-ctl start sidekiq 
ok: run: sidekiq: (pid 38384) 0s
root@gitlab-server:~/web1# gitlab-ctl start unicorn
ok: run: unicorn: (pid 38407) 0s
root@gitlab-server:~/web1# gitlab-ctl start

image.png