Gitlab CE 备份方法

Gitlab 创建备份

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

1
gitlab-rake gitlab:backup:create

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

Gitlab 修改备份文件默认目录

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

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

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

Gitlab 自动备份

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

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

Gitlab 恢复

停止相关数据连接服务

1
2
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

从1469066724编号备份中恢复

1
gitlab-rake gitlab:backup:restore BACKUP=1469066724

启动Gitlab

1
sudo gitlab-ctl start

Gitlab迁移

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

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