温馨提示×

linux gitlab如何恢复

小樊
37
2026-07-01 08:11:42
栏目: 智能运维

在 Linux 上恢复 GitLab,要分清楚你指的是哪种“恢复”场景。下面按最常见情况给你完整说明,你可以对号入座。


一、恢复 GitLab 备份(最常用 ✅)

1️⃣ 前提条件

  • GitLab 版本必须与备份时一致
  • 备份文件一般在:
    /var/opt/gitlab/backups/
    
    文件名类似:
    1700000000_2025_01_01_gitlab_backup.tar
    

2️⃣ 停止部分 GitLab 服务

sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq

确认状态:

sudo gitlab-ctl status

3️⃣ 恢复备份

sudo gitlab-backup restore BACKUP=1700000000_2025_01_01

⚠️ 不要加 .tar,只写文件名前缀


4️⃣ 恢复配置文件(重要❗)

如果你备份了 /etc/gitlab

sudo cp -r /path/to/backup/gitlab.rb /etc/gitlab/gitlab.rb
sudo cp -r /path/to/backup/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json

然后重新配置:

sudo gitlab-ctl reconfigure

5️⃣ 启动 GitLab

sudo gitlab-ctl start

检查:

sudo gitlab-rake gitlab:check SANITIZE=true

二、误删仓库 / 项目恢复(无备份时)

❌ 无备份 → 基本无法恢复

GitLab 没有回收站

✅ 有服务器快照 / LVM / 磁盘镜像

  • 关闭 GitLab
  • 挂载旧磁盘
  • 拷贝:
    /var/opt/gitlab/git-data/repositories
    

三、GitLab 无法启动(系统级恢复)

1️⃣ 查看日志

sudo gitlab-ctl tail

2️⃣ 常见修复

sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

3️⃣ 修复数据库

sudo gitlab-rake db:migrate

四、完全重装 GitLab 并恢复

1️⃣ 卸载(不删数据)

sudo gitlab-ctl uninstall
sudo gitlab-ctl cleanse

2️⃣ 重新安装同版本

# 查看原版本
gitlab-rake gitlab:env:info

安装同版本 GitLab:

sudo EXTERNAL_URL="http://gitlab.example.com" yum/apt install gitlab-ee

3️⃣ 恢复备份(走第一节流程)


五、Docker 方式 GitLab 恢复(如果你用的是容器)

docker exec -t gitlab gitlab-backup restore BACKUP=timestamp
docker restart gitlab

六、恢复是否成功快速验证 ✅

  • 网页能打开
  • 项目仓库完整
  • CI/CD 运行正常
  • 用户与权限正确

七、我可以进一步帮你(请告诉我)

请回复以下信息之一,我可以给你精确命令

1️⃣ GitLab 安装方式(Omnibus / Docker / 源码)
2️⃣ 是否有备份文件
3️⃣ 报错日志(gitlab-ctl tail 的前 50 行)
4️⃣ GitLab 版本
5️⃣ 是 整个系统恢复 还是 单个项目恢复

我可以直接帮你“对症下药”。

0