Bootstrap

GitLab基础:备份与恢复指南

在这里插入图片描述

GitLab提供进行备份和恢复的方式,整体来说,备份的过程会创建包含数据库、所有仓库和附件的归档文件。无论是CE版本还是EE版本,GitLab恢复数据的时候都需要满足版本一致的前提,即进行恢复的GitLab的版本和备份数据时的GitLab的版本一致。

备份文件

保存目录

备份文件缺省保存的目录在/etc/gitlab/gitlab.rb文件中可以进行配置,缺省状态下备份文件会保存在/var/opt/gitlab/backups目录下,可以打开如下注释,并根据需要修改备份文件的保存目录。

# gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

文件名

文件名格式:[TIMESTAMP]_gitlab_backup.tar

需要注意得是从GitLab 9.2版本开始[TIMESTAMP]的格式发生了变化

  • GitLab 9.2之前:EPOCH_YYYY_MM_DD
  • GitLab 9.2之后:EPOCH_YYYY_MM_DD_GitLab_version

而实际上这仅仅是一个文件名称的改变而已,比如使用旧版的备份命令在新版的GitLab中生成了EPOCH_YYYY_MM_DD_GitLab_version格式的文件,而实际上只修改此文件至原有版本也可以正常运行,详细可参看以下的验证示例:

GitLab备份

使用命令

可以使用如下命令进行GitLab的备份:

执行命令(GitLab 12.1之后版本):gitlab-backup create

或者

执行命令(GitLab 12.1及之前版本):gitlab-rake gitlab:backup:create

备份文件

备份所生成的tar归档文件,实际是有如下目录所组成,各目录所保存的数据内容和目录名称如下所示:

目录名称 备份文件说明
db 数据库备份:主要为PostgreSQL数据库数据内容
uploads 附件数据备份
repositories Git仓库数据备份
builds CI Job输入日志等数据备份
artifacts CI Job构件数据备份
lfs LFS对象数据备
;