GitLab Enterprise Edition 14.7.1如何创建增量备份?官方仅14.9及以上支持
GitLab EE 14.7.1 增量备份实现方案
由于GitLab官方增量备份功能仅在14.9及以上版本提供,14.7.1无法直接使用官方命令实现。以下是几种可行的替代方案:
方案一:文件系统级增量备份
GitLab的核心数据(仓库、数据库、配置等)集中存储在*/var/opt/gitlab/*目录下,可通过文件级工具实现增量备份:
- 首先执行一次全量备份,锁定基础版本:
sudo rsync -a /var/opt/gitlab/ /path/to/backup-root/full-$(date +%Y%m%d%H%M) - 后续每次增量备份时,使用
--link-dest参数指向最近的备份目录,仅复制变化文件:# 先设置最近备份路径变量 LATEST_BACKUP=$(ls -td /path/to/backup-root/* | head -1) sudo rsync -a --link-dest="$LATEST_BACKUP" /var/opt/gitlab/ /path/to/backup-root/incremental-$(date +%Y%m%d%H%M) - 注意事项:备份前建议停止GitLab服务(
sudo gitlab-ctl stop)避免数据不一致,完成后重启服务(sudo gitlab-ctl start)。如果无法停服,可启用GitLab的快照功能(需存储支持)配合备份。
方案二:全量备份+增量同步备份文件
利用GitLab自带的全量备份生成备份包,再通过增量工具同步备份文件:
- 先执行一次全量备份生成基础包:
备份文件默认存放在*sudo gitlab-backup create/var/opt/gitlab/backups/* - 使用
rdiff-backup或rsync同步备份目录到存储位置,自动追踪增量变化:# 用rdiff-backup保留版本历史 sudo rdiff-backup /var/opt/gitlab/backups/ /path/to/remote-backup-storage/ # 用rsync仅同步新增/修改的备份包 sudo rsync -a --ignore-existing /var/opt/gitlab/backups/ /path/to/remote-backup-storage/ - 优势:无需停服,操作简单;缺点:全量备份包体积较大,需合理规划备份频率。
方案三:升级GitLab至14.9+(可选)
如果业务允许,升级到支持官方增量备份的版本是最省心的方案:
- 先执行一次完整的全量备份,确保数据安全
- 遵循GitLab官方升级路径逐步升级(禁止跨大版本跳级,如从14.7直接升到15.x)
- 升级完成后,即可使用官方增量备份命令:
sudo gitlab-backup create INCREMENTAL=yes PREVIOUS_BACKUP=<timestamp_of_backup>
内容的提问来源于stack exchange,提问作者Milad Sadeghi
相关产品推荐
相关产品推荐

