在 Linux 上恢复 GitLab,要分清楚你指的是哪种“恢复”场景。下面按最常见情况给你完整说明,你可以对号入座。
/var/opt/gitlab/backups/
文件名类似:1700000000_2025_01_01_gitlab_backup.tar
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
确认状态:
sudo gitlab-ctl status
sudo gitlab-backup restore BACKUP=1700000000_2025_01_01
⚠️ 不要加
.tar,只写文件名前缀
如果你备份了 /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
sudo gitlab-ctl start
检查:
sudo gitlab-rake gitlab:check SANITIZE=true
GitLab 没有回收站
/var/opt/gitlab/git-data/repositories
sudo gitlab-ctl tail
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo gitlab-rake db:migrate
sudo gitlab-ctl uninstall
sudo gitlab-ctl cleanse
# 查看原版本
gitlab-rake gitlab:env:info
安装同版本 GitLab:
sudo EXTERNAL_URL="http://gitlab.example.com" yum/apt install gitlab-ee
docker exec -t gitlab gitlab-backup restore BACKUP=timestamp
docker restart gitlab
请回复以下信息之一,我可以给你精确命令:
1️⃣ GitLab 安装方式(Omnibus / Docker / 源码)
2️⃣ 是否有备份文件
3️⃣ 报错日志(gitlab-ctl tail 的前 50 行)
4️⃣ GitLab 版本
5️⃣ 是 整个系统恢复 还是 单个项目恢复
我可以直接帮你“对症下药”。