提示:Gitlab迁移与恢复一样,但是要求两个GitLab版本号一致
1. Gitlab备份
使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份
gitlab-rake gitlab:backup:create #备份git
2、修改gitlab数据存放地址
vim /etc/gitlab/gitlab.rb
修改数据存放目录,取消注释,修改目录地址。
修改备份的目录和备份的时间
将原来的数据文件,同步到新的地址中,根据自己的数据地址进行修改。
rsync -av /var/opt/gitlab/git-data/repositories /home/gitlab-data/
修改完成后需要重新加载配置文件,重启gitlab。
gitlab-ctl reconfigure
gitlab-ctl restart
3、Gitlab自动备份
实现每天凌晨2点进行一次自动备份:通过crontab使用备份命令实现
注意:环境变量CRON=1的作用是如果没有任何错误发生时, 抑制备份脚本的所有进度输出
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
4、 Gitlab恢复
Gitlab的从备份恢复也非常简单:
Gitlab的恢复操作会先将当前所有的数据清空,然后再根据备份数据进行恢复
gitlab-ctl stop unicorn #git停止相关的数据连接服务
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1627912648_2021_08_02_11.1.4 #指定编号进行恢复
gitlab-ctl start
出现多个done之后,表示还原已经结束,然后需要启动gitlab进行查看。
启动完之后,访问页面会显示502,一般等待2分钟后就会恢复正常,如果长时间仍然没有恢复,可以分析日志排查问题。
tailf /var/log/gitlab/unicorn/unicorn_stderr.log