文章目录
本文介绍Gitlab备份、恢复及迁移的方法
Gitlab备份 {#title-0}
默认 Gitlab 的备份文件会创建在/var/opt/gitlab/backups文件夹中,格式为时间戳_日期_版本号_gitlab_backup.tar,例如:1519628066_2018_03_10_10.5.1_gitlab_backup.tar
1、修改备份文件夹
vi /etc/gitlab/gitlab.rb
|---|--------------------------| | 1 | vi /etc/gitlab/gitlab.rb |
gitlab_rails['backup_path'] = "/data/gitlab_bak"
|---|----------------------------------------------------| | 1 | gitlab_rails['backup_path'] = "/data/gitlab_bak" |
2、更新配置使其生效
gitlab-ctl reconfigure
|---|------------------------| | 1 | gitlab-ctl reconfigure |
3、手动备份
gitlab-rake gitlab:backup:create
|---|----------------------------------| | 1 | gitlab-rake gitlab:backup:create |
可以配置crontab,每日进行定时备份
Gitlab恢复备份 {#title-1}
1、首先确保备份的tar文件在gitlab.rb配置中描述的备份目录中gitlab_rails['backup_path']
停止gitlab相关服务
gitlab-ctl stop unicorn gitlab-ctl stop sidekiq
|-----|-------------------------------------------------| | 1 2 | gitlab-ctl stop unicorn gitlab-ctl stop sidekiq |
2、接下来恢复备份,指定要恢复备份文件的时间戳
gitlab-rake gitlab:backup:restore BACKUP=1519628066_2018_03_10_10.5.1
|---|-----------------------------------------------------------------------| | 1 | gitlab-rake gitlab:backup:restore BACKUP=1519628066_2018_03_10_10.5.1 |
恢复备份后执行
gitlab-ctl reconfigure
|---|------------------------| | 1 | gitlab-ctl reconfigure |
3、重启并检查gitlab
gitlab-ctl restart gitlab-rake gitlab:check SANITIZE=true
|-----|-----------------------------------------------------------| | 1 2 | gitlab-ctl restart gitlab-rake gitlab:check SANITIZE=true |
如果备份的tar文件和已安装版本的GitLab之间存在GitLab版本不匹配,将会出现错误,需要安装正确的Gitlab版本后重试。
Gitlab迁移 {#title-2}
迁移还是很容易的,在目标服务器上安装好gitlab,把之前的备份文件放到备份目录下,然后执行恢复备份命令即可。