我有两个硬盘,上面有电影文件,我需要它们具有相同的内容。
我用来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