Gitlab 备份迁移恢复 (bug: gitlab-ce.10.8.x restore )
1. 版本信息
OS: centos 6.9 Gitlab: gitlab-ce.10.7.4 gitlab-ce.10.8.0 gitlab-ce.10.8.3 gitlab-ce.10.8.4
2. 数据备份
https://segmentfault.com/a/1190000014729115 参考以上url 即可完成数据备份。
3. Gitlab数据还原
https://segmentfault.com/a/1190000014729115 参考以上url 即可完成数据备份还原。
4.Gitlab数据还原失败
原因:gitlab版本restore存在bug,目录权限问题导致还原失败。 issue:https://gitlab.com/gitlab-org/gitlab-ce/issues/46891 first: #scp 1528963129_2018_06_14_10.8.4_gitlab_backup.tar 192.168.99.115:`pwd` #chown git.git /var/opt/gitlab/backups/*.tar gitlab-ctl stop unicorn gitlab-ctl stop sidekiq gitlab-rake gitlab:backup:restore **错误提示:** [DONE] done Restoring uploads ... tar: .: Cannot mkdir: No such file or directory tar: Exiting with failure status due to previous errors Backup failed 各位看官,看到该提示是不是超蛋疼,大脑飘过十万个草泥马!别急,能解决的,咱可以手动;
5. Gitlab的备份过程
Dumping database ... Dumping PostgreSQL database gitlab hq_production ... [DONE] done Dumping repositories ... * arch/k-calc ... [DONE] * arch/sms ... [DONE] * done Dumping uploads ... done Dumping builds ... done Dumping artifacts ... done Dumping pages ... done Dumping lfs objects ... done Dumping container registry images ... [DISABLED] Creating backup archive: 1528963129_2018_06_14_10.8.4_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done 其实就是使用tar打包过程,db 和 repositories 除外!! 各位看官,说到这里是不是想起来点什么,继续往下看哦 !!!
6.数据还原过程
Unpacking backup ... done Before restoring the database, we will remove all existing tables to avoid future upgrade problems. Be aware that if you have custom tables in the GitLab database these tables and all data will be removed. Do you want to continue (yes/no)? yes Removing all tables. Press `Ctrl-C` within 5 seconds to abort Cleaning the database ... done Restoring database ... Restoring PostgreSQL database gitlabhq_production ... SET SET SET set_config GRANT [DONE] done Restoring repositories ... * arch/k-calc ... [DONE] * arch/sms ... [DONE] Put GitLab hooks in repositories dirs [DONE] done Restoring uploads ... ....
7.解决数据还原
#cd /var/opt/gitlab/backups #ls 1528963129_2018_06_14_10.8.4_gitlab_backup.tar backup_information.yml db pages.tar.gz tmp artifacts.tar.gz builds.tar.gz lfs.tar.gz repositories uploads.tar.gz restore handy: #tar xf uploads.tar.gz -C /var/opt/gitlab/gitlab-rails/uploads #tar xf builds.tar.gz -C /var/opt/gitlab/gitlab-ci/builds #tar xf pages.tar.gz -C /var/opt/gitlab/gitlab-rails/shared/pages #tar xf artifacts.tar.gz -C /var/opt/gitlab/gitlab-rails/shared/artifacts 看到这里是不是欣喜若狂,毕竟Gitlab是基础服务,程序员的结晶之地啊!!! 注意: db、repositories 的数据已经还原,了解本质过程很重要的,万物皆有相克!!! 如果数据还原没有提到的,请自行脑补啊,不在多做累述!!! #以下命令对还原数据可靠性检测 #gitlab-ctl reconfigure #gitlab-ctl restart #gitlab-rake gitlab:check SANITIZE=true
8. 新旧域名更改redirect
#grep -rn "external_url" /etc/gitlab/gitlab.rb external_url "http://gitlab.xxxxx.com" #gitlab-ctl reconfigure #gitlab-ctl restart redirect 问题: 点击admin area,然后左下角setting,找到“登录限制”的 Home page URL,修改为新的域名即可!!!
文件夹权限参考
https://docs.gitlab.com/omnibus/settings/configuration.html
如有问题或者想打赏,支付宝[email protected] !!!
相关推荐
cxin 2020-11-06
synshitou 2020-10-21
Topbeyond 2020-08-21
happyfreeangel 2020-07-27
白开水 2020-07-19
无风的雨 2020-07-08
贤时间 2020-07-06
wishli 2020-06-28
小信 2020-06-21
leehbhs 2020-06-20
happyfreeangel 2020-06-18
83284950 2020-06-17
冯冯领队 2020-06-16
就是那个胖子 2020-06-14
83284950 2020-06-14
LiHansiyuan 2020-06-14
fcds00 2020-06-11
就是那个胖子 2020-06-11