hbx

Crates.iohbx
lib.rshbx
version0.1.2
sourcesrc
created_at2023-07-02 01:49:24.4859
updated_at2023-07-02 01:49:24.4859
descriptionIncremental sync tool
homepagehttps://github.com/padeyao4/hash-box
repositoryhttps://github.com/padeyao4/hash-box
max_upload_size
id905814
size60,859
padeyao4 (padeyao4)

documentation

README

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

Commit count: 48

cargo fmt