1.创建备份

使用 Gitlab CE 安装 Gitlab 非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的 Gitlab 备份:

gitlab-rake gitlab:backup:create

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

2.修改备份文件默认目录

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

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

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

3.自动备份

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

sudo crontab -e
# 在文件中加入以下命令
0 3 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

4.恢复

  • 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
  • 从 1469066724 编号备份中恢复
gitlab-rake gitlab:backup:restore BACKUP=1469066724
  • 启动 Gitlab
sudo gitlab-ctl start

5.数据迁移

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

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