Rsync

rsync 比較大型二進製文件的目錄:是比較文件的內容嗎?

  • December 14, 2020

我有兩個帶有電影文件的硬碟,我需要它們具有相同的內容。

rsync用來確保磁碟 B 上的文件與磁碟 A 相同,並且它似乎正在傳輸所有內容。

我在磁碟 A 中添加了大約 10 部新電影,我只想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。

聽起來你正在尋找的標誌是--ignore-existing

您缺少--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被禁用:您將獲得完整副本或已經複製。與網路副本不同,無法僅傳輸失去/更改的部分

引用自:https://unix.stackexchange.com/questions/624212