Tech
[Minecraft] PotatoSack - 支持区块级粒度、可几乎不占用额外硬盘空间来利用 OneDrive / Dropbox / S3 增量备份世界数据的 Bukkit 系插件
来头
租 Minecraft 面板服和小伙伴们一起玩的时候,我希望至少存档数据能把握在自己手上,想找个备份插件来定时备份存档进行上传。但当时咱发现很多服务商会限制硬盘用量,而市面上很多成熟的备份插件都是先本地压缩打包再上传的模式,如果我存档数据本身已经有将近 10G ,而硬盘空间限制 10G ,那么打包过程中就已经会占满硬盘导致上传失败。因此我决定还是自己写个插件,按自己的设想去加上必要的功能,PotatoSack 就这样诞生了。
关于全量和增量备份
为了方便描述全量和增量备份,我将 [一个全量备份 + 其后的增量备份 (直至下一次全量备份前的)] 抽象成了一个“ 一组备份 ”的概念。每产生一次全量备份就会新创建“一组备份”,随后直至下次全量备份前的增量备份都会算在这一组里。
基本特性
PotatoSack 同时支持传统的备份模式以及 流式压缩+传输模式 ,后者会在内存中维护一个小缓冲区,边压缩数据边上传,这样就能几乎不占用额外的硬盘空间。
最开始这个插件是针对 OneDrive 来写的,而 OneDrive 很坑爹的一点是分块上传 API 要求提前知道...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX