Mount

rsync 到 USB 快閃記憶體驅動器始終傳輸所有數據

  • January 21, 2022

rsync目錄下載到新插入的外部 USB 快閃記憶體驅動器時,通過

rsync -av /source/ /dest/

儘管文件沒有更改,但所有文件都會被傳輸(即重寫)。

請注意,只有在拔下並重新插入 USB 後才會覆蓋文件。連續兩次執行該rsync命令而不拔掉中間的驅動器確實會成功跳過整個目錄內容。

包括-u更新選項和顯式添加-t選項並沒有改變任何東西。

掛載點保持不變(即/media/user/<UUID>驅動器由 自動安裝xfce/dev/sdxy明顯變化) 硬碟驅動器源為ext4,而 USB 為vfat字元utf8編碼。

這種行為的原因可能是/dev/名稱條目的更改?如何rsync在正確辨識文件更改的情況下執行?如果沒有這個,我的備份應該只需要幾秒鐘,而現在總是幾分鐘,因為大量數據被反复覆蓋,大量寫入也不是快閃記憶體驅動器預期壽命的最佳選擇。

您的 FAT 驅動器只能以兩秒的精度儲存時間戳。當您拔下並重新插入驅動器時,您有效地打破了所有文件時間。請參閱--modify-window解決方法的選項。

其次,你永遠不會看到rsync這樣的快速備份,因為在本地複制時它的行為很像cp.

預設情況下,rsync 通過修改時間和文件大小來辨識更改的文件。在 Google 上快速搜尋“vfat timestamp”會發現與tz=UTC掛載選項相關的幾個問題。

可能是外部驅動器上的時間戳與內部驅動器不同,因此 rsync 總是認為文件不同?如果是這種情況,您可能應該檢查您的安裝選項。

或者(實際上不管我的理論是否正確),您可以嘗試使用該-c選項執行 rsync,這使得它可以通過文件內容的雜湊檢查更改。這可能會減慢速度,但我不確定實際影響。

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