Filesystems

rsync 在不同文件系統之間複製未修改的文件

  • January 6, 2013

我嘗試使用 rsync 在兩台機器之間同步文件,但無論文件修改時間如何,它似乎都會複製所有文件。連續兩次呼叫該命令會產生相同的結果,因此它顯然被破壞了。

有問題的命令是:

rsync -r local/path user@host:/remote/path -v

本地文件系統是 ext4,而遠端文件系統是 ext3。我懷疑問題出在這裡,因為當我嘗試在同一個 ext3 系統和 NTFS 驅動器之間同步文件時,我遇到了類似的問題。將後者轉換為 ext3 解決了這個問題。

這次我不能求助於皈依。有誰知道問題的確切根源和任何可能的解決方案?

預設情況下,rsync 不會根據文件的修改時間和大小來複製文件。

如果您不在-t命令行中使用,rsync 將不會保留修改時間,並且大小+時間檢查當然會失敗。

您的不同文件系統的時間戳精度也很有可能導致問題 -ext4支持微秒,但ext3僅限於秒。

嘗試--modify-window=1在命令行中添加一個,告訴 rsync 以一秒的精度處理時間戳。

或者,您可以-c強制對文件進行校驗和,但這當然會比 mtime + size 檢查慢得多,即使它確實為您節省了頻寬。

引用自:https://serverfault.com/questions/463357