目 录CONTENT

文章目录

gitlab备份与恢复

Seven
2021-11-23 / 0 评论 / 0 点赞 / 343 阅读 / 3184 字 / 正在检测是否收录...

1、查看系统版本和软件版本

[root@git-server ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@git-server ~]# cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 
12.6.3  

2、数据备份
打开/etc/gitlab/gitlab.rb配置文件,查看一个和备份相关的配置项:

[root@git-server ~]# vim /etc/gitlab/gitlab.rb    打开注释
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups" #备份的路径
gitlab_rails['backup_archive_permissions'] = 0644       #备份文件的默认权限
gitlab_rails['backup_keep_time'] = 604800               #保留时长,秒为单位

image.png

该项定义了默认备份出文件的路径,可以通过修改该配置,并执行 gitlab-ctl reconfigure 或者 gitlab-ctl restart 重启服务生效。

[root@git-server ~]# gitlab-ctl reconfigure
或
[root@git-server ~]# gitlab-ctl restart

执行备份命令进行备份

[root@git-server backups]# /opt/gitlab/bin/gitlab-rake gitlab:backup:create

image.png

也可以添加到 crontab 中定时执行:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create

可以到/data/gitlab/backups找到备份包,解压查看,会发现备份的还是比较全面的,数据库、repositories、build、upload等分类还是比较清晰的。
备份完成,会在备份目录中生成一个当天日期的tar包。
3、数据恢复
特别注意:

备份目录和gitlab.rb中定义的备份目录必须一致
GitLab的版本和备份文件中的版本必须一致,否则还原时会报错。
在恢复之前,可以删除一个文件,以便查看效果
image.png

[root@git-server backups]# ls
1592911339_2020_06_23_12.6.3_gitlab_backup.tar
[root@git-server backups]#  gitlab-rake gitlab:backup:restore BACKUP=1592911339_2020_06_23_12.6.3

image.png

恢复完成后,重启服务,再打开浏览器进行访问,发现数据和之前的一致:
image.png
注意:通过备份文件恢复gitlab必须保证两台主机的gitlab版本一致,否则会提示版本不匹配

0

评论区