版本环境:
[root@gitlab ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@gitlab ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
11.11.8-ee
一、数据备份
查看配置文件 /etc/gitlab/gitlab.rb
# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" //默认位置
修改默认备份文件路径,并执行 gitlab-ctl reconfigure 重载配置文件。
0 10 15,L * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create #每月15日及月底早上10点备份一次
gitlab-ce自身集成的有自动删除配置,同上配置文件:/etc/gitlab/gitlab.rb
gitlab_rails['backup_keep_time'] = 604800
注:这里是设置备份保留7天(7*3600*24=604800),秒为单位,按需修改后可通过gitlab-ctl restart 重启服务生效。
二、数据恢复
恢复前先停数据连接服务:
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
如果你没修改过默认备份目录的话,将老服务器/var/opt/gitlab/backups目录下的备份文件拷贝到新服务器上的/var/opt/gitlab/backups
rsync -avz 1569309291_2019_09_24_11.11.8-ee_gitlab_backup.tar 10.26.100.246:/var/opt/gitlab/backups/
将文件权限600修改成777
chmod 777 1569309291_2019_09_24_11.11.8-ee_gitlab_backup.tar
执行下面的命令进行恢复
gitlab-rake gitlab:backup:restore BACKUP=1569309291_2019_09_24_11.11.8-ee_gitlab_backup.tar
恢复完,重启服务
gitlab-ctl start unicorn
gitlab-ctl start sidekiq
或
gitlab-ctl restart
注意:通过备份文件恢复gitlab必须保证两台主机的gitlab版本一致,否则会提示版本不匹配。