Files
使用 rsync(或其他工具)更正兩個系統之間的文件時間戳
我有兩個具有相同文件結構的系統(A,B)。文件相同,但在其中一個地方 (B),文件時間戳不正確。問題是 B 中的大多數時間戳都設置為比 A 更新的日期。有沒有辦法用 rsync (或其他工具)糾正這個問題?
問題是,如果我
rsync -azEX --delete A B
沒有在 B 端進行任何修改,因為日期顯示文件更新(並且傳輸整個文件結構是我想要避免的選項)。
如果您
A
和B
代表不同的系統而不是本地文件系統的一部分,rsync
則只會傳輸元數據。不過,它會讀取雙方的文件,以確保校驗和正確,但只會傳輸不同的部分文件:rsync -azX /some/path/ user@remote:/target/path
如果你能保證兩邊的內容相同,你可以關閉時間檢查,但仍然攜帶時間戳值。這將讀取雙方的文件元數據,但不讀取文件內容。
如果文件大小不同
rsync
,將執行校驗和(再次在雙方)以查看文件的哪些部分需要傳輸,否則如上所述,對於相同大小的文件,將不考慮文件內容。rsync -azX --size-only /some/path/ user@remote:/target/path
作為一個工作範例,我有一個從倫敦傳輸到阿姆斯特丹的 600MB 文件,倫敦以外的連結非常慢(1Mbit/s)。顯然,原始副本花費了相當長的時間。我複制了文件,然後重置了時間戳。建議 #1 大約需要 10 秒。建議 #2 用時不到 1 秒。兩者都不傳輸任何文件內容。