Mount

如果目標位置是已安裝的文件夾,rsync 是否會下載整個文件?

  • September 30, 2019

我正在使用WebDAV客戶端將ownCloud文件夾(或任何其他雲的文件夾)作為驅動程序安裝在本地電腦上

sudo apt-get install davfs2
mkdir oc
sudo mount.davfs https://b2drop.eudat.eu/remote.php/webdav/ oc

在這個場景中,假設我A.tar.gz在掛載的文件夾上有一個壓縮文件 (),並且該文件被複製到我的本地目錄中B.tar.gz

稍後該文件在已安裝的目錄上更新,我只想將其更新的部分複製到我的本地目錄rsync --no-whole-file oc/A.tar.gz /home/local/B.tar.gz,如果可能的話,不下載整個文件。

基於the rsync algorithm僅在 }A.tar.gz中未找到的部分,B.tar.gz加上少量用於校驗和和塊索引的數據} 應該通過源和目標之間的連結 } 發送。


在這種情況下,當我使用rsyncovermounted 文件夾時,在計算校驗和期間,以便僅傳輸已修改的部分:

=> 是否rsync必須讀取整個文件,這將導致將完整數據下載到已安裝目錄中,而不僅僅是其更新部分?


請注意,以下行對 rsync over sshfs 有一個很好的解釋:Differences between rsync on remote and rsync local on mounted sshfs?

在這種情況下,當我在掛載文件夾上使用 rsync 時,在計算校驗和期間,以便僅傳輸已修改的部分:

=> rsync 是否必須讀取整個文件,這將導致將完整數據下載到掛載目錄中,而不僅僅是其更新部分?

是的,這是完全正確的。

(當您查看頁面右側或底部的連結側邊欄時 - “遠端 rsync 與已安裝 sshfs 上的本地 rsync 之間的差異?” - 這是已接受答案的第一部分試圖解釋的內容。我發現你的解釋更清楚)。

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