使用增量算法将文件同步到目标(本地/远程)
项目描述
块同步
该库允许blocksync脚本作为Python包使用,并且支持比blocksync脚本更方便、更多样化的功能。
先决条件
- Python 3.8 或更高版本
特征
- 使用增量算法同步目标(远程或本地)文件。
- 支持所有同步方向。(本地-本地、本地-远程、远程-本地)
- 支持可以在文件同步之前(运行一次或每个工作人员)、之后(运行一次或每个工作人员)和文件同步期间运行的回调
- 支持同步挂起/恢复、取消。
- 大多数方法都支持方法链接。
- 您可以在多线程环境中看到整体进度。
- 您可以在后台进行同步。
- 您可以指定执行同步的工作线程数(线程数)。
安装
pip install blocksync
快速开始
当从/到远程同步时,您可以检查paramiko docs中的 SSH 连接选项。
from blocksync import local_to_local
manager, status = local_to_local("src.txt", "dest.txt", workers=4)
manager.wait_sync()
print(status)
# Output
[Worker 1]: Start sync(src.txt -> dest.txt) 1 blocks
[Worker 2]: Start sync(src.txt -> dest.txt) 1 blocks
[Worker 3]: Start sync(src.txt -> dest.txt) 1 blocks
[Worker 4]: Start sync(src.txt -> dest.txt) 1 blocks
{'workers': 4, 'chunk_size': 250, 'block_size': 250, 'src_size': 1000, 'dest_size': 1000, 'blocks': {'same': 4, 'diff': 0, 'done': 4}}
去做
- 提供 CLI
- 编写文档并建立文档网站
执照
MIT 许可证(有关此许可证的更多信息,请参阅此)