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地址进行验证,所有的数据都做了恢复
网友评论