在 Linux 上备份 GitLab,通常有三种常见方式:官方备份命令(推荐)、手动备份关键目录、以及使用快照/镜像。下面按实用程度给你说明。
sudo gitlab-rake gitlab:backup:create
备份文件会生成在:
/var/opt/gitlab/backups/
文件名类似:
1700000000_2023_11_15_gitlab_backup.tar
⚠️ 不包含:
/etc/gitlab(配置文件)/var/opt/gitlab/nginx(可选)sudo tar czf gitlab-config-$(date +%F).tar.gz -C / etc/gitlab
sudo tar czf gitlab-data-$(date +%F).tar.gz -C / var/opt/gitlab
✅ 建议至少备份:
/etc/gitlab/gitlab.rb/etc/gitlab/gitlab-secrets.json编辑定时任务:
sudo crontab -e
每天凌晨 2 点备份:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
在 /etc/gitlab/gitlab.rb 中:
gitlab_rails['backup_keep_time'] = 604800
然后:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl stop puma
sudo gitlab-ctl stop sidekiq
sudo gitlab-rake gitlab:backup:restore BACKUP=1700000000_2023_11_15
tar xzf gitlab-config-*.tar.gz -C /
sudo gitlab-ctl restart
rsync -avz /var/opt/gitlab/backups/ user@backup:/gitlab/
如果你愿意,可以告诉我:
我可以给你一套适合你环境的备份脚本。