在 Ubuntu 上备份 GitLab,通常分为 使用 GitLab 自带备份工具(推荐) 和 手动备份关键数据 两种方式。下面按常见场景说明。
sudo gitlab-rake gitlab:backup:create
备份文件默认生成在:
/var/opt/gitlab/backups/
文件名类似:
1690000000_2023_07_22_15.11.0_gitlab_backup.tar
该备份包含:仓库、数据库、上传文件、配置(部分)等
ls -lh /var/opt/gitlab/backups/
编辑 crontab:
sudo crontab -e
例如每天凌晨 2 点备份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
官方备份 不包含 以下文件,需要单独备份:
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 -avz /var/opt/gitlab/backups/ user@backup-server:/gitlab/backups/
scp /var/opt/gitlab/backups/*.tar user@backup-server:/gitlab/backups/
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-rake gitlab:backup:restore BACKUP=1690000000_2023_07_22_15.11.0
sudo cp /backup/gitlab.rb /etc/gitlab/
sudo cp /backup/gitlab-secrets.json /etc/gitlab/
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
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
✅ 定期测试恢复
如果你愿意,可以告诉我:
我可以进一步给你定制备份脚本。