# hash box 用于增量同步文件,节约磁盘空间 使用场景: - 服务器中有大量只读工具包需要同步到其他服务器 - 充分使用内网带宽进行同步 ## 原理 有两个只读目录a和b,其中有大部分文件相同。通过计算a和b目录中文件的md5值,可判断两个目录中有哪些文件相同,相同文件可以只存储一份。 两个目录中的文件以该文件的md5值为名称存储,并记录目录的目录结构和文件md5的映射关系。 服务器和服务器间同步文件时,通过同步md5文件和目录信息文件来加快同步,同步到新机器上后 通过硬连接的方式 即可恢复a和b目录 ## 安装 ```bash cargo install --path ./ ``` ## 用法 ```bash hbx --help ``` ## 交叉编译 可以利用cross-rs进行交叉编译解决服务器不同glibc兼容问题 ## todo - p2p方式批量同步 ## License Apache-2.0