10.gitlab的备份、恢复、迁移、升级
一、备份
gitlab自带备份命令
gitlab-rake gitlab:backup:create
备份的命令
具体备份到了哪,以及备份保留多久
可以在 vim /etc/gitlab.rb 配置文件中配置
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份的路径
gitlab_rails['backup_keep_time'] = 604800 #单位是秒,这里604800表示备份保留7天
如果修改了备份的路径,记得要执行一次初始化操作:gitlab-ctl reconfigure
备份的过程需要等待一段时间
当出现Backup task is done.表示备份结束

来到备份的路径,可以看到之前的备份

如何实现每天自动备份呢?
使用contab即可
二、恢复
注意恢复的前提是,之前做过备份
当我们把某个项目干掉以后,又想恢复回来,就可以通过备份,将项目恢复回来
例,这里将名为tm的项目删掉



删掉后项目列表如下

开始恢复操作
1.先停止数据写入服务,停掉以下服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
2.通过gitlab-rake命令进行恢复
gitlab-rake gitlab:backup:restore BACKUP=备份文件的文件名
注意这里的文件名不用写全,写到时间戳和版本号这里就行了
gitlab-rake gitlab:backup:restore BACKUP=1664175947_2022_09_26_12.3.5
它自己会到备份文件的目录下,找到对应的备份文件,进行恢复
看到Restore task is done.表示恢复操作结束

3.重启gitlab,检查是否恢复完毕
gitlab-ctl restart

恢复操作完成后,会发现删掉的项目又回来了

三、迁移
迁移的步骤:
1.备份旧gitlab
2.在新机器安装相同环境的gitlab
3.在新机器恢复旧gitlab的备份
4.验证数据的完整性
5.将域名解析到新的gitlab服务器地址
6.保留旧gitlab服务器一段时间,确认没问题,销毁。( 7-15天 )
一般情况下,迁移会迁移两个文件,/etc/gitlab/gitlab.rb 和backups下的备份文件
四、升级
在迁移的时候,可以顺便升级
例如将gitlab迁移到云端,迁移后顺带升级一下

gitlab的升级和其他的升级不一样。不支持跨域版本升级。只能小版本迭代。
gitlab-11版本–>gitlab-12版本,这种大版本升级是无法升级的。
需要先升级到gitlab-11的最新版本–然后才能升级到gitlab-12版本,否则升级报错。
例如:
1.先想办法升级到:gitlab-ce-11.9.9-ce.0.el7.x86_64.rpm
2.然后才能 升级到 gitlab-ce-12版本
升级:
1.gitlab启动的状态下,安装新版本
yum localinstall gitlab-ce-12.10.9-ce.0.el7.x86.rpm -y
2.确认数据是否正常
登陆到gitlab,查看升级后的版本信息,查看项目等数据是否正常
3.然后再进行跨大版本升级
yum localinstall gitlab-ce-13.xx.x-ce.0.el7.x86.rpm -y
当升级时遇到升级失败,提示以下信息

这里需要改配置文件才行
vim gitlab.rb

修改配置后重新初始化,然后在进行升级
gitlab-ctl reconfigure
yum localinstall gitlabce-13.xx.x-ce.0.el7.x86_64.rpm -y
更多推荐
所有评论(0)