CentOS GitLab备份恢复策略
小樊
45
2025-08-24 17:37:03
备份策略
- 全量备份
使用命令 gitlab-rake gitlab:backup:create 手动备份,包含仓库、数据库、用户等所有数据,默认存储在 /var/opt/gitlab/backups 目录,可通过修改 /etc/gitlab/gitlab.rb 中的 gitlab_rails['backup_path'] 配置路径。
- 定时自动备份
通过 crontab 设置定时任务(如每天凌晨2点执行备份),命令示例:
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create。
- 备份文件管理
- 可通过
gitlab_rails['backup_keep_time'] 设置备份保留时间(单位:秒),定期清理过期备份。
- 建议将备份文件同步至远程服务器或云存储,使用
rsync 等工具传输。
恢复策略
- 停止服务
恢复前需停止 GitLab 相关服务:
sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq。
- 执行恢复
- 将备份文件复制到备份目录,使用命令:
sudo gitlab-rake gitlab:backup:restore BACKUP=备份文件名(需输入 yes 确认覆盖)。
- 启动服务与验证
恢复后启动服务:
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
验证 GitLab Web 界面访问及数据完整性。
注意事项
- 版本一致性:恢复的 GitLab 版本需与备份时一致或更高。
- 配置文件备份:手动备份
/etc/gitlab/gitlab.rb 和 /etc/gitlab/gitlab-secrets.json,确保配置可恢复。
- 安全性:备份文件包含敏感信息,需加密存储并限制访问权限。
- 定期测试:定期验证备份文件可用性,避免灾难时无法恢复。