通过gitlab备份文件可以恢复gitlab所有的信息,包括仓库、数据库、用户、用户组、用户密钥、权限等信息。
新服务器上的gitlab的版本号必须与创建备份时的gitlab版本号相同。
备份gitlab
1.修改默认存放备份站点目录,然后进行重新加载配置文件
vim /etc/gitlab/gitlab.rb
334行 gitlab_rails['backup_path'] = "/var/opt/gitlab/backups“ 默认路径
342行 gitlab_rails['backup_keep_time'] = 604800 备份保留7天
gitlab-ctl reconfigure 初始化配置
2.通过gitlab-rake命令备份gitlab
gitlab-rake gitlab:backup:create
备份文件的名称中1590578539_2020_05_27_12.0.3_gitlab_backup.tar是此次备份的编号。该编号我们会在后续恢复gitlab数据使用到.
3.定时备份gitlab
crontab -e
* * * * * gitlab-rake gitlab:backup:create > /dev/null
systemctl restart crond 重启服务
gitlab仓库恢复
1.在gitlab服务器上停止相关数据连接服务,命令如下:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
2.恢复gitlab仓库
gitlab-rake gitlab:backup:restore BACKUP=1590578539_2020_05_27_12.0.3
如果出现多个done的信息,说明整个gitlab数据就已经正常恢复完毕。
3.启动gitlab服务
gitlab-ctl start