在 Debian 系统上备份 GitLab,通常不建议手动拷贝文件,而是使用 GitLab 自带的备份工具。下面按「官方推荐方式 → 手动补充备份 → 定时自动备份」来说明。
sudo gitlab-rake gitlab:backup:create
备份完成后,文件会生成在:
/var/opt/gitlab/backups/
文件名类似:
1700000000_2023_11_15_16.5.1_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-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
sudo crontab -e
示例(每天凌晨 2 点):
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1
CRON=1可避免输出干扰
rsync -az /var/opt/gitlab/backups/ user@backup-server:/gitlab/backups/
rsync -az /etc/gitlab/ user@backup-server:/gitlab/etc/
或使用 rclone / restic 更安全。
sudo gitlab-rake gitlab:backup:restore BACKUP=1700000000_2023_11_15_16.5.1
如果你愿意,我可以:
直接告诉我你的 GitLab 安装方式即可。