rsync 比较大型二进制文件的目录:它是比较文件的内容吗?

rsync 比较大型二进制文件的目录:它是比较文件的内容吗?

我有两个硬盘,上面有电影文件,我需要它们具有相同的内容。

我用来rsync确保磁盘 B 上有与磁盘 A 相同的文件,并且它似乎正在传输所有内容。

我已经将大约 10 部新电影添加到 A 盘,我想要的只是rsync快速记下哪些是新电影并复制它们。

我正在做的是

rsync -rv -P /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

(都是本地安装的 USB 磁盘),我假设它会跳过 99% 的文件,只传输新添加的文件。

但它似乎正在转移一切:

Alien/Alien (1979).avi
   735027200 100%   17.24MB/s    0:00:40 (xfer#2, to-check=329/333)
Alien/Aliens (1986).avi
   945698816 100%   16.27MB/s    0:00:55 (xfer#3, to-check=328/333)
Animated/Aladdin (1992).avi
   869096258 100%   16.67MB/s    0:00:49 (xfer#5, to-check=325/333)

这些电影已经在来源和目的地上存在了。

这些文件是相同的,如果我这样做的话,细节看起来完全一样ls -la,权限、所有者、大小等也相同。

rsync 是否必须对字节在文件中查看它是否真的相同?因为它非常慢而且我不需要它来做到这一点。

我真正想要的是一个rsync命令,其含义是“复制源上不存在于目标上的文件并忽略所有其他因素”。

TIA。

答案1

您缺少--archive( -a) 或--times( -t) 标志。如果没有其中之一,rsync将无法跟踪更改时间,因此它无法绕过看起来已经被复制的文件

rsync -avP  /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

或者

 rsync -rtvP /Volumes/DISK_A/Film/ /Volumes/DISK_B/Film/

请注意,因为您是在本地复制,所以巧妙的部分rsync被禁用:您将获得完整副本或已复制。与网络副本不同,无法仅传输丢失/更改的部分

答案2

听起来您要找的标志是--ignore-existing

相关内容