gitlab备份与恢复

查看gitlab版本

bash 复制代码
gitlab-rake gitlab:env:info
新旧 GitLab 版本必须一致,不然恢复的时候会报错

一、备份

1.备份命令

bash 复制代码
sudo gitlab-backup create
备份完成后,备份存放的默认目录在/var/opt/gitlab/backups/下

可以通过查看以下配置文件,知道备份文件目录
cat /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true                           # 开启GitLab备份功能
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"        # 指定备份路径
gitlab_rails['backup_archive_permissions'] = 0644            # 备份文件权限
gitlab_rails['backup_keep_time'] = 604800                 # 备份保留时间,默认为7天,默认单位秒

2.备份以下目录中的密钥文件

bash 复制代码
/etc/gitlab/gitlab-secrets.json

二、恢复

1.将新的gitlab服务部署完成并开启后,拷贝之前的备份到本机器中

bash 复制代码
cp 1699958400_*.tar /var/opt/gitlab/backups/
chown git:git /var/opt/gitlab/backups/*.tar

2.恢复备份之前需要先停止以下服务,不然恢复时会报错

bash 复制代码
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

3.执行以下命令恢复备份

bash 复制代码
sudo gitlab-backup restore BACKUP=1699958400_2025_12_14_15.6.2

过程中会提示:

Do you want to continue (yes/no)?


输入:

yes

4.恢复完成后把gitlab-secrets.json密钥文件放到以下目录中

bash 复制代码
/etc/gitlab

5.执行以下命令重新加载gitlab服务即可

bash 复制代码
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
相关推荐
杨云龙UP5 小时前
Oracle RAC/ODA环境下如何准确查询PDB表空间已分配大小?一次说清Oracle表空间逻辑大小和ASM三副本实际占用_2026-05-19
linux·运维·数据库·sql·oracle·ffmpeg
码点滴6 小时前
K8s配置与存储运维自动化:从隐形杀手到 AI Agent 安全闭环
运维·人工智能·自动化
步十人6 小时前
【Linux】环境配置
linux·运维·服务器
念恒123066 小时前
MySQl安装
linux·运维·服务器
卧室小白6 小时前
docker容器
运维·docker·容器
Benszen6 小时前
Docker容器化解决方案
运维·docker·容器
vortex56 小时前
现代 Linux 包管理全景:从 apt 到 Nix,四大派系与四大范式
linux·运维·服务器
曦夜日长6 小时前
Linux系统篇,开发工具(四):make及makefile的使用、makefile的使用细节
linux·运维·服务器
hwscom6 小时前
Windows服务器如何免费实现文件防篡改功能
运维·服务器·windows
无情的西瓜皮7 小时前
MCP协议实战:从零搭建一个AI Agent工具服务器,让大模型真正“动手干活“
运维·服务器·人工智能·mcp