温馨提示×

如何备份ubuntu gitlab

小樊
37
2026-09-23 03:12:13
栏目: 智能运维

在 Ubuntu 上备份 GitLab,通常分为 使用 GitLab 自带备份工具(推荐)手动备份关键数据 两种方式。下面按常见场景说明。


一、使用 GitLab 官方备份命令(推荐)

1. 创建备份

sudo gitlab-rake gitlab:backup:create

备份文件默认生成在:

/var/opt/gitlab/backups/

文件名类似:

1690000000_2023_07_22_15.11.0_gitlab_backup.tar

该备份包含:仓库、数据库、上传文件、配置(部分)等


2. 查看已生成的备份

ls -lh /var/opt/gitlab/backups/

3. 自动定时备份(可选)

编辑 crontab:

sudo crontab -e

例如每天凌晨 2 点备份:

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1

二、备份 GitLab 配置文件(非常重要)

官方备份 不包含 以下文件,需要单独备份:

sudo cp /etc/gitlab/gitlab.rb /backup/gitlab.rb
sudo cp /etc/gitlab/gitlab-secrets.json /backup/gitlab-secrets.json

建议:

sudo tar czf gitlab-config-$(date +%F).tar.gz \
  /etc/gitlab/gitlab.rb \
  /etc/gitlab/gitlab-secrets.json

三、备份到远程(推荐)

示例:使用 rsync

rsync -avz /var/opt/gitlab/backups/ user@backup-server:/gitlab/backups/

示例:使用 scp

scp /var/opt/gitlab/backups/*.tar user@backup-server:/gitlab/backups/

四、恢复 GitLab 备份(备用参考)

1. 停止相关服务

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

2. 恢复备份

sudo gitlab-rake gitlab:backup:restore BACKUP=1690000000_2023_07_22_15.11.0

3. 恢复配置

sudo cp /backup/gitlab.rb /etc/gitlab/
sudo cp /backup/gitlab-secrets.json /etc/gitlab/
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

五、Docker 版 GitLab 备份(如适用)

docker exec -t gitlab gitlab-rake gitlab:backup:create

配置文件:

/var/lib/docker/volumes/gitlab_config/_data/

六、建议备份清单总结

✅ GitLab 备份 tar 包
/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json
✅ 定期测试恢复


如果你愿意,可以告诉我:

  • Omnibus / Docker / 源码安装
  • 是否使用 GitLab CE 还是 EE
  • 是否需要 增量备份 / 异地备份方案

我可以进一步给你定制备份脚本。

0