1 unstable release

0.1.2 Jul 2, 2023

#11 in #scp

Apache-2.0

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