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