GitLab需要备份的数据有2块,一个是/etc/gitlab下的配置文件,还有一个是使用gitlab-rake指令备份的相关文件

GitLab配置文件

GitLab默认的配置文件路径:/etc/gitlab/,需要手工备份

tar cvf /opt/backup/gitlab/conf/`date +%Y%m%d`-gitlab.tar.gz  /etc/gitlab

编辑备份参数

vim /etc/gitlab/gitlab.rb

#备份路径
gitlab_rails['backup_path'] = "/opt/nas/gitlabback/data"
#备份包权限
gitlab_rails['backup_archive_permissions'] = 0644
#备份保留时间,单位秒,默认7天
gitlab_rails['backup_keep_time'] = 604800

#重载配置,使之生效
gitlab-ctl stop
gitlab-ctl reconfigure
gitlab-ctl start

执行备份

gitlab-rake gitlab:backup:create

还原数据

保证GitLab版本号是一致的
(1)还原配置文件
将配置文件上传至服务器

\mv gitlab.rb gitlab-secrets.json /etc/gitlab/

修改配置文件里面关于url地址 external_url

#重载gitlab配置
gitlab-ctl reconfigure

(2)还原GitLab数据
将gitlab-rake打包的文件放到 gitlab_rails[‘backup_path’] 对应目录下
gitlab_rails[‘backup_path’] = “/opt/nas/gitlabback/data”

# 恢复数据,注意BACKUP=后面只要 _gitlab_backup.tar 前面的版本号,如下
gitlab-rake gitlab:backup:restore BACKUP=1597282053_2020_08_13_10.0.6
#重载gitlab配置
gitlab-ctl reconfigure
gitlab-ctl start