温馨提示×

debian gitlab如何备份数据

小樊
38
2026-09-20 19:06:24
栏目: 智能运维

在 Debian 上备份 GitLab,通常有两种官方推荐方式

  1. 使用 GitLab 自带备份命令(最常用)
  2. 手动备份关键目录(进阶 / 灾难恢复)

下面以 Omnibus 版 GitLab(apt 安装) 为例说明。


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

1. 执行备份命令

sudo gitlab-rake gitlab:backup:create

备份文件会生成在:

/var/opt/gitlab/backups/

文件名类似:

1690000000_2023_07_22_gitlab_backup.tar

2. 备份内容包含

  • 代码仓库
  • 数据库(PostgreSQL)
  • 用户、组、项目配置
  • CI/CD 数据
  • 附件(默认包含)

⚠️ 不包含

  • /etc/gitlab(配置文件)
  • /var/opt/gitlab/nginx(可选)
  • SSH host keys

二、必须额外备份的配置文件(非常重要)

sudo tar czf gitlab-config-$(date +%F).tar.gz \
  /etc/gitlab \
  /var/opt/gitlab/git-data \
  /var/opt/gitlab/.ssh

或至少备份:

/etc/gitlab/gitlab.rb
/etc/gitlab/gitlab-secrets.json

三、定时自动备份(crontab)

sudo crontab -e

添加(每天凌晨 2 点):

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

CRON=1 可避免输出干扰


四、备份到远程(安全建议)

示例:rsync 到远程服务器

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

也可使用:

  • rclone
  • S3 / 对象存储
  • NFS

五、恢复备份(简要)

1. 安装相同版本 GitLab

sudo apt install gitlab-ee

2. 恢复配置

sudo gitlab-ctl reconfigure

3. 恢复数据

sudo gitlab-rake gitlab:backup:restore BACKUP=1690000000_2023_07_22

六、Docker 版 GitLab(补充)

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

七、官方文档

https://docs.gitlab.com/ee/raketasks/backup_restore.html


如果你愿意,我可以:

  • 给你一套 完整备份脚本
  • 区分 CE / EE
  • 或针对 Docker / Kubernetes GitLab 给方案

0