如何生成基于二进制的文件夹比较两个同步目录?

如何生成基于二进制的文件夹比较两个同步目录?

我有一个简单的场景,我需要为一些基于 Java 的软件生成版本。我一直在手动执行的操作是:

1- 构建软件 2- 将所有需要的内容复制到“发布目录” 3- 压缩文件

现在我已添加 CI(jenkins)来为我创建构建。然后我尝试使用 rsync 来更新基本安装目录(其中包含最后一个构建)。RSYNC 的问题在于它使用时间戳。由于我刚刚构建了一个新版本,因此所有时间戳都已更改。我可以做些什么来以二进制模式比较文件?

编辑

这是我所做的。目前,src1 和 src2 是相同的。唯一的区别是时间戳,因为 src2 是 src1 的副本。然后,rsync 将所有文件复制到 dst。我原本以为 dst 是空的。

rsync -av --progress --stats --compare-dest=../src1/src2/dst/

所以我尝试了以下操作。我生成了具有相同时间戳的 src1 副本,当我执行相同的命令时,dst 为空。这让我相信 rsync 使用时间戳。

答案1

需要使用选项,否则默认是快速时间戳和大小比较

--校验和

答案2

rsync 有效地以二进制模式比较文件,只有发现二进制内容有差异时才传输内容。

据我了解,修改时间(和大小)的检查用于选择要比较的文件。

rsync 有一个--size-only选项

相关内容