由于Gitlab自身的兼容性问题,高版本的Gitlab无法恢复低版本备份的数据,需要注意在b服务器部署和a服务器一样版本的gitlab
查看gitlab版本的命令:
[root@xxxx ~]# gitlab-rake gitlab:env:info System information System: CentOS 7.2.1511 Current User: git Using RVM: no Ruby Version: 2.3.5p376 Gem Version: 2.6.13 Bundler Version:1.13.7 Rake Version: 12.3.0 Redis Version: 3.2.11 Git Version: 2.14.3 Sidekiq Version:5.0.4 Go Version: unknown GitLab information Version: 10.3.4 Revision: 56dc722 Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql URL: http://192.168.0.246:7023 HTTP Clone URL: http://192.168.0.246:7023/some-group/some-project.git SSH Clone URL: git@192.168.0.246:some-group/some-project.git Using LDAP: no Using Omniauth: no GitLab Shell Version: 5.10.2 Repository storage paths: - default: /home/git-data/repositories Hooks: /opt/gitlab/embedded/service/gitlab-shell/hooks Git: /opt/gitlab/embedded/bin/git [root@xxxxx ~]#
备份原192.168.0.108服务器上的的数据
gitlab-rake gitlab:backup:create RAILS_ENV=production
备份后的文件一般是位于/var/opt/gitlab/backups下, 自动生成文件名文件名如1558334901_2019_05_20_10.3.4_gitlab_backup.tar
将生成的tar文件拷贝到192.168.0.246服务器上相应的backups目录下
可以利用scp进行直接拷贝.
scp root@192.168.0.108:/var/opt/gitlab/backups/1558334901_2019_05_20_10.3.4_gitlab_backup.tar /var/opt/gitlab/backups
在192.168.0.246服务器恢复数据
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=1558334901_2019_05_20_10.3.4