温馨提示×

如何在debian备份gitlab

小樊
42
2026-09-14 15:08:30
栏目: 智能运维

在 Debian 系统上备份 GitLab,通常不建议手动拷贝文件,而是使用 GitLab 自带的备份工具。下面按「官方推荐方式 → 手动补充备份 → 定时自动备份」来说明。


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

1. 执行备份

sudo gitlab-rake gitlab:backup:create

备份完成后,文件会生成在:

/var/opt/gitlab/backups/

文件名类似:

1700000000_2023_11_15_16.5.1_gitlab_backup.tar

2. 备份包含内容

  • 代码仓库
  • 数据库(PostgreSQL)
  • 用户、组、项目配置
  • CI/CD 数据
  • 附件(如启用本地存储)

⚠️ 不包含

  • /etc/gitlab(配置文件)
  • /var/opt/gitlab/nginx/(自定义证书等)

二、必须额外备份的关键文件

1. 配置文件(非常重要)

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

2. SSL 证书(如使用 HTTPS)

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

恢复时必须先恢复这些文件


三、查看备份配置(可选)

编辑:

sudo vim /etc/gitlab/gitlab.rb

常用配置:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # 保留 7 天

修改后执行:

sudo gitlab-ctl reconfigure

四、设置定时自动备份(cron)

sudo crontab -e

示例(每天凌晨 2 点):

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

CRON=1 可避免输出干扰


五、备份到远程(强烈建议)

使用 rsync 示例

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

或使用 rclone / restic 更安全。


六、恢复简要说明(备查)

  1. 恢复配置文件
  2. 安装相同版本 GitLab
  3. 执行:
sudo gitlab-rake gitlab:backup:restore BACKUP=1700000000_2023_11_15_16.5.1

如果你愿意,我可以:

  • 给你一套完整备份脚本
  • 或针对 GitLab CE / EE / Docker 版本分别说明
  • 或帮你设计 异地备份方案

直接告诉我你的 GitLab 安装方式即可。

0