Gitlab 备份、恢复

vim /etc/gitlab/gitlab.rb

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

gitlab-rake gitlab:backup:create 

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

此处以事务的形式进行gitlab的定时备份,创建定时脚本/iyunwen/bin/git_backup/git_backup.sh ,内容如下

#!/bin/bash

cd /var/opt/gitlab/backups/

gitlab-rake gitlab:backup:create

find /var/opt/gitlab/backups/  -type f -ctime +5 -execrm-rf{}\;

加入事务:echo"30 03 * * * root run-parts /iyunwen/bin/git_backup/">>/etc/crontab 每天3:30分定时备份gitlab版本数据

备份后的数据在/var/opt/gitlab/backups中存在,如下图:

4、gitlab的迁移及数据恢复

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

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

查看gitlab的版本信息如下:

cat/opt/gitlab/embedded/service/gitlab-rails/VERSION

(1)、停止gitlab服务

gitlab-ctl stop unicorn

gitlab-ctl stop sidekiq

(2)上传备份文件至/var/opt/gitlab/backups,此处的备份文件名称为:1534793618_gitlab_backup.tar

注意,如果迁移前后的gitlab版本不一致,会报如下错误,所以版本必须要一致

(3)、数据恢复

cd/var/opt/gitlab/backups

chmod    777 1534793618_gitlab_backup.tar

gitlab-rake gitlab:backup:restore BACKUP=1534793618

开始恢复的进度如下:

恢复完成之后,会提示如下:

可以登录gitlab地址进行验证,所有的数据都做了恢复

你可能感兴趣的:(Gitlab 备份、恢复)