温馨提示×

怎样在linux还原gitlab

小樊
42
2026-09-28 15:46:06
栏目: 智能运维

在 Linux 上“还原 GitLab”通常分为几种场景,我先按最常见、最实用的情况给你讲,你再对照自己的情况操作。


一、从 GitLab 备份文件还原(最常见)

如果你之前用 GitLab 自带备份命令生成过备份:

/opt/gitlab/bin/gitlab-rake gitlab:backup:create

1️⃣ 准备环境

  • 还原的 GitLab 版本必须与备份时一致
  • 已安装相同版本的 GitLab

2️⃣ 拷贝备份文件

备份文件一般在:

/var/opt/gitlab/backups/

例如:

1659000000_2023_07_28_15.11.0_gitlab_backup.tar

放到目标机器相同目录。

3️⃣ 停止相关服务

gitlab-ctl stop puma
gitlab-ctl stop sidekiq

4️⃣ 执行还原

gitlab-rake gitlab:backup:restore BACKUP=1659000000_2023_07_28_15.11.0

不需要写 _gitlab_backup.tar

5️⃣ 重启 GitLab

gitlab-ctl restart
gitlab-rake gitlab:check SANITIZE=true

二、只还原配置文件(很重要)

备份不包含 /etc/gitlab/gitlab.rb 和 /etc/gitlab/ssl

还原方法:

cp gitlab.rb /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure

三、Docker 方式还原 GitLab

1️⃣ 进入容器

docker exec -it gitlab bash

2️⃣ 执行还原

gitlab-rake gitlab:backup:restore BACKUP=时间戳

3️⃣ 重启

gitlab-ctl restart

四、误删仓库 / 项目如何恢复?

如果是:

  • 删了某个 project
  • 没备份

✅ 可尝试:

  • 从本地 clone 重新 push
  • 从其他成员电脑恢复
  • 检查 /var/opt/gitlab/git-data/repositories 是否还有残留

五、系统级灾难恢复(重装系统)

步骤:

  1. 重装相同版本 GitLab
  2. 恢复 /etc/gitlab
  3. 恢复 backups
  4. gitlab-ctl reconfigure
  5. gitlab:backup:restore

六、常见错误

❌ 版本不一致 → 无法还原
❌ 没有停服务 → 数据损坏
❌ 忘记恢复 gitlab.rb → 配置丢失


七、你可以告诉我

为了给你更精确的方案,请告诉我:

  1. GitLab 安装方式(Omnibus / Docker / 源码)
  2. 是否有备份文件
  3. 是整站还原还是单个项目
  4. Linux 发行版(CentOS / Ubuntu)

我可以直接给你一步一步命令。

0 踩