![通过串行连接进行 rsync](https://linux22.com/image/181301/%E9%80%9A%E8%BF%87%E4%B8%B2%E8%A1%8C%E8%BF%9E%E6%8E%A5%E8%BF%9B%E8%A1%8C%20rsync.png)
我需要通过串行连接有效地同步两个目录(在两台不同的机器上运行)。我必须通过自定义协议处理实际的文件传输。
我真正想要的是确定要发送哪些文件。我本质上需要在一侧创建文件索引(带有校验和),将该索引传输到另一侧,让它在一侧也创建一个索引,然后发回比较。然后我只传输不同的文件。
我当然可以自己编写所有这些代码,但我希望 Linux 有一些内置工具可以提供帮助。特别是,有没有办法让 rsync 创建某种索引。无论如何,它已经完成了大部分工作,但我找不到输出该工作的方法。
任何关于如何在没有自定义编码的情况下做到这一点的想法都会很棒。
答案1
正如评论中提到的,通过串行连接运行 IP 协议可以获得很大的灵活性,并且是推荐的方法。但要回答最初提出的问题:
特别是,有没有办法让 rsync 创建某种索引。无论如何,它已经完成了大部分工作,但我找不到输出该工作的方法。
如果您的意思是应该传输哪些文件,则不是。 rsync
正在比较双方的文件。如果不知道目的地,就不会创建该信息。
如果您只是指考虑哪些文件(解析源文件和任何包含/排除),则可以通过解析定向到空位置--verbose
的输出来生成该列表。--dry-run
我不知道如何计算/显示传递中的块校验和。