温馨提示×

gitlab linux如何备份

小樊
35
2026-09-04 14:43:35
栏目: 智能运维

在 Linux 上备份 GitLab,通常有三种常见方式:官方备份命令(推荐)手动备份关键目录、以及使用快照/镜像。下面按实用程度给你说明。


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

1. 执行备份

sudo gitlab-rake gitlab:backup:create

备份文件会生成在:

/var/opt/gitlab/backups/

文件名类似:

1700000000_2023_11_15_gitlab_backup.tar

2. 备份内容包含

  • 仓库(repositories)
  • 数据库(PostgreSQL)
  • 上传文件
  • CI/CD 数据
  • 配置(部分)

⚠️ 不包含

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

二、必须额外备份的配置(很重要)

1. 备份 GitLab 配置

sudo tar czf gitlab-config-$(date +%F).tar.gz -C / etc/gitlab

2. 可选:备份数据目录

sudo tar czf gitlab-data-$(date +%F).tar.gz -C / var/opt/gitlab

✅ 建议至少备份:

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

三、自动定时备份(crontab)

编辑定时任务:

sudo crontab -e

每天凌晨 2 点备份:

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

四、备份文件管理(防止磁盘爆)

只保留最近 7 天

/etc/gitlab/gitlab.rb 中:

gitlab_rails['backup_keep_time'] = 604800

然后:

sudo gitlab-ctl reconfigure

五、恢复备份(简要)

  1. 停止相关服务:
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
  1. 恢复:
sudo gitlab-rake gitlab:backup:restore BACKUP=1700000000_2023_11_15
  1. 恢复配置:
tar xzf gitlab-config-*.tar.gz -C /
  1. 重启:
sudo gitlab-ctl restart

六、其他备份方式(简单提一下)

  • LVM / 云快照:适合整机备份
  • rsync 异地备份
rsync -avz /var/opt/gitlab/backups/ user@backup:/gitlab/

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

  • GitLab 版本
  • 是否使用 Omnibus(gitlab-ctl)
  • 是否容器 / 虚拟机

我可以给你一套适合你环境的备份脚本

0