• 创建完整的Gitlab备份
# gitlab-rake gitlab:backup:create

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1393513186_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1393513186是备份创建的日期。

  • 修改备份文件默认目录

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

gitlab_rails['backup_path'] = '/mnt/backups'

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

  • Gitlab自动备份

你也可以通过crontab,使用备份命令实现自动备份:

$ sudo su -

# crontab -e

加入以下代码, 实现每天凌晨2点进行一次自动备份:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
  • Gitlab 恢复

同样, Gitlab的从备份恢复也非常简单

# 将备份文件权限修改为777,不然可能恢复的时候会出现权限不够,不能解压的问题
chmod 777 1502357536_2017_08_10_9.4.3_gitlab_backup.tar 

# 停止相关数据连接服务
gitlab-ctlstop unicorn
                
gitlab-ctl stop sidekiq

# 从1393513186编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1393513186

# 启动Gitlab
sudo gitlab-ctl start
  • Gitlab迁移

正如备份与恢复的步骤一样,如果你没修改过默认备份目录的话,只需要将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups,即可完成Gitlab迁移。

需要注意,新服务器Gitlab的版本必须与创建备份时的Gitlab版本号相同。比如新服务器安装的是最新7.60版本的Gitlab, 那么迁移之前, 最好将老服务器的Gitlab升级为7.60,再进行备份。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐