GitLab数据备份与恢复

<a href="http://www.shennongmin.org">
神农民博客

</a>

GitLab作为开源、功能强大的代码托管软件,其价值不可估量,是软件工作者必不可少的。本文主要说明如何备份和恢复GitLab数据。数据无价,多做备份,谨慎操作!

创建备份

$ sudo gitlab-rake gitlab:backup:create

执行完备份命令后会在/var/opt/gitlab/backups目录下生成备份后的文件,如1500809139_2017_07_23_gitlab_backup.tar。1500809139是一个时间戳,从1970年1月1日0时到当前时间的秒数。这个压缩包包含Gitlab所有数据(例如:管理员、普通账户以及仓库等等)。

从备份恢复

本节说明如何在另一台主机上恢复数据。

将备份文件拷贝到/var/opt/gitlab/backups下(备份和恢复的GitLab版本尽量保持一致,后文描述了版本不匹配的处理方法)。

停止相关数据连接服务

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

从备份恢复

从指定时间戳的备份恢复(backups目录下有多个备份文件时):

sudo gitlab-rake gitlab:backup:restore BACKUP=1500809139

从默认备份恢复(backups目录下只有一个备份文件时):

sudo gitlab-rake gitlab:backup:restore

启动Gitlab

sudo gitlab-ctl start
sudo gitlab-ctl reconfigure

修改默认备份目录【可选】

你也可以通过修改/etc/gitlab/gitlab.rb来修改默认存放备份文件的目录:

gitlab_rails['backup_path'] = '/home/backup'

/home/backup修改为你想存放备份的目录即可, 修改完成之后使用gitlab-ctl reconfigure命令重载配置文件即可。

问题与解决

安装指定版本gitlab-ce

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce=8.16.6-ce.0

参考链接:

  • https://about.gitlab.com/installation/#ubuntu
  • https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/trusty/gitlab-ce_8.16.6-ce.0_amd64.deb

重装后访问页面出现500或502

在恢复数据时,提示版本不匹配,卸载、指定版本重装后出现500或502错误,网上搜索了很多方法,都不解决问题,最终发现是卸载不彻底引起,完整的卸载方法为:

sudo gitlab-ctl stop
sudo apt-get --purge remove gitlab-ce
sudo rm -r /var/opt/gitlab
sudo rm -r /opt/gitlab
sudo rm -r /etc/gitlab

修改主机域名

sudo vi /etc/gitlab/gitlab.rb
external_url '你的网址'

阅读原文 | 作者官网 | 公众号 | Feed | 订阅 | 发私信

推荐阅读更多精彩内容

  • 由于公司业务,需要上Git版本控制。 目前市面上比较有名的Git服务提供商,国外有GitHub、BitBucket...
    hjqjk阅读 11,636评论 0 18
  • 一. GitLab 创建备份 使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单...
    Minty_阅读 274评论 0 3
  • 梦里梦到几个曾经的老朋友,突然就醒来了,然后才发现有好多人在梦醒后只能称为故友了。和很多人之间的就这样慢慢淡了,深...
    小瓷呐阅读 64评论 0 0
  • 木子李伴你成长 今天有一个50多岁的老太太过来看病,她说她在家洗衣服洗着洗着她的手臂就不能左右转动了。把了脉说她有...
    释莲花阅读 155评论 0 1
  • 一点斜阳,一丝余晖
    落雨声烦阅读 43评论 0 0