现在我每天都要对大小超过4 GB的Gitlab-CE 8.12.4服务器进行完整备份。是否有任何方法或变通方法可以进行Gitlab-CE服务器的增量备份。
运行gitlab备份rake任务时,会备份多个组件:
数据库条目(注释、问题、事件、项目、用户等等),以及实际的git数据。
备份rake任务只是复制所有内容并将其打包成tar文件。
如果您想创建自己的备份策略,可以轻松地将这两个任务分开,并为各个组件使用备份策略。
MySQL数据库增量备份:https://dev.mysql.com/doc/mysql-enterprise-backup/4.0/en/mysqlbackup.incremental.html
对于git数据,根据您的后端文件系统,您可以使用快照和rsync来完成此操作。这里有更多信息:https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md#alternative-backup-strategies
你选择的选项将取决于你的环境,但我建议 1)定期测试还原操作,2)仍然使用 rake 任务进行定期完整备份。
GitLab 14.10(2022年4月)确实有一个官方功能:
我们很高兴为我们的自助管理客户提供使用我们初步的增量备份服务的机会。
在至少进行一次完整备份后,您可以运行后续的增量备份,将自上次备份以来的仓库更改打包到备份捆绑包中。这大大减少了备份时间。
虽然现在已经可以使用此功能,但我们想澄清每个增量备份都会覆盖上一个增量备份,并提醒您这是我们的MVC。
请随时尝试这个令人兴奋的新功能,并且不要犹豫提供反馈!
请查看我们的存储库级别的增量备份史诗以获取有关此功能进展的更新!