在 Linux 上备份 GitLab 配置,通常需要根据你使用的是 Omnibus GitLab 还是 源码/容器部署 来区分。下面以最常见的 Omnibus GitLab(官方包安装) 为主说明。
GitLab 的配置与数据通常包括:
/etc/gitlab/(最重要,含 gitlab.rb)/etc/gitlab/ssl//var/opt/gitlab//var/opt/gitlab/git-data//var/opt/gitlab/backups/sudo gitlab-rake gitlab:backup:create
默认生成文件在:
/var/opt/gitlab/backups/
文件名类似:
1690000000_2023_07_22_gitlab_backup.tar
⚠️ 该命令不包含
/etc/gitlab配置,需单独备份
sudo tar czf gitlab-config-$(date +%F).tar.gz /etc/gitlab
建议保存到异地或对象存储。
#!/bin/bash
DATE=$(date +%F)
BACKUP_DIR=/backup/gitlab
mkdir -p $BACKUP_DIR
# GitLab 数据备份
gitlab-rake gitlab:backup:create
# 配置文件备份
tar czf $BACKUP_DIR/gitlab-config-$DATE.tar.gz /etc/gitlab
加入 crontab:
0 2 * * * /opt/scripts/gitlab_backup.sh
如果是 Docker 部署:
docker exec -t gitlab gitlab-rake gitlab:backup:create
同时备份:
docker-compose.ymlconfig、data、logs 目录tar xzf gitlab-config-2023-07-22.tar.gz -C /
gitlab-rake gitlab:backup:restore BACKUP=1690000000_2023_07_22
✅ 定期备份
✅ 配置文件与数据分开存储
✅ 备份到异地(NFS / S3 / OSS)
✅ 定期测试恢复
如果你能告诉我:
我可以给你更精确的备份方案。