温馨提示×

怎样恢复linux gitlab

小樊
45
2026-09-04 14:29:34
栏目: 智能运维

“恢复 Linux 上的 GitLab”要看你是哪种恢复场景。下面按常见情况给你对应做法,你可以对号入座。


一、GitLab 服务挂了(只是停了 / 起不来)

1. 查看状态

sudo gitlab-ctl status

2. 启动服务

sudo gitlab-ctl start

3. 如果启动失败,看日志

sudo gitlab-ctl tail

二、GitLab 配置损坏(能跑但异常)

重新加载配置

sudo gitlab-ctl reconfigure

⚠️ 这会按 /etc/gitlab/gitlab.rb 重新生成配置,不会删数据


三、从备份恢复 GitLab(最常用)

1. 确认有备份文件

备份一般在:

/var/opt/gitlab/backups/

文件名类似:

1690000000_2023_07_22_gitlab_backup.tar

2. 停止相关服务

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

新版本 GitLab 用 puma,老版本是 unicorn

3. 执行恢复

sudo gitlab-backup restore BACKUP=1690000000_2023_07_22

4. 恢复配置和密钥(非常重要)

sudo cp /path/to/gitlab.rb /etc/gitlab/gitlab.rb
sudo cp /path/to/gitlab-secrets.json /etc/gitlab/gitlab-secrets.json
sudo gitlab-ctl reconfigure

5. 启动 GitLab

sudo gitlab-ctl start

四、GitLab 完全重装后恢复

如果你重装了系统或 GitLab

  1. 安装相同版本的 GitLab
  2. 复制备份文件到:
    /var/opt/gitlab/backups/
    
  3. 按「三」的步骤恢复

⚠️ 版本必须一致,否则可能恢复失败。


五、误删仓库但没备份(困难)

如果是:

  • 删了 /var/opt/gitlab/git-data/
  • 没有备份

基本只能:

  • extundelete / testdisk 尝试磁盘恢复
  • 或让开发者重新 push

成功率很低。


六、Docker 版 GitLab 恢复(如果你用的是容器)

docker exec -it gitlab gitlab-backup restore BACKUP=时间戳

你可以告诉我:

  1. GitLab 是 ** Omnibus / Docker / 源码 ** 安装的?
  2. 是 **服务起不来 / 数据丢了 / 重装了 **?
  3. 有没有 .tar 备份文件?

我可以给你精确到命令级别的恢复方案。

0