一,备份
备份默认路径查看:
gitlab/config/gitlab.yml 中的backup: 默认tmp/backups ====》这个是gitlab/tmp/backups/ 可不是系统的tmp/backups
进入gitlab账户下执行备份命令
bundle exec rake gitlab:backup:create ===>必须在Gemfile 所在的目录下执行
如果备份报错
rake aborted!
cannot load such file -- rb-inotify
/home/gitlab/gitlab/config/application.rb:9:in `<top (required)>'
/home/gitlab/gitlab/Rakefile:5:in `require'
/home/gitlab/gitlab/Rakefile:5:in `<top (required)>
解决方案:
bundle exec rake assets:precompile RAILS_ENV=production ==》生成资产标签
bundle exec rake gitlab:backup:create RAILS_ENV=production ===》指定环境变量
二,迁移
停止所有的gitlab服务:
service gitlab stop
pkill nginx
将备份文件放在新服务器的bakups目录下
备份文件权限修改为777: chmod 777 xxxx
恢复:sudo -u gitlab -H bundle exec rake gitlab:backup:restore BACKUP=1541820252 RAILS_ENV=production
重启gitlab nginx服务
该版本会会出现仓库无法正常还原的问题:
解决方案:
cd /home/git/
tar zcvf repositories.tar.gz ./repositories/ ===》把仓库压缩成tar包
scp repositories.tar.gz root@xxxx:/opt ===>发送至备份服务器
cp /opt/repositories.tar.gz /home/git
chown git:git repositories.tar.gz
mv repositories repositories_old
tar zxvf repositories.tar.gz -C /home/git/
重启gitlab nginx 服务