比對本地端跟遠端的資料夾內容是否相同 - Linux

Table of Contents

假設本地端有個資料夾f1 遠端伺服器有另一個資料夾f2

f1跟f2內不僅有檔案 也有子資料夾

子資料夾內也可能有檔案跟子子資料夾 如此遞迴下去

我想比對f1跟f2的內容是否完全相同

所謂完全相同是指資料夾樹狀結構跟所有的檔案內容皆相同

目前我想到幾個作法:

法1. 把兩個資料夾壓縮後比對checksum是否相同

缺點: 無法知道不一樣的檔案/子資料夾是哪些

法2. 把f2 mount到f1所在的電腦 在本地端比較f1跟f2差異

缺點: 要安裝額外套件

想請教的是有沒有辦法利用Linux內建的指令直接比較f1跟f2的差異

而且:

- 速度不會太慢

- 邊比較邊記錄不一樣的檔案/子資料夾

讓我在比較過程還沒結束前就能看log檔

--

All Comments

Emily avatarEmily2011-08-31
rsync
Tristan Cohan avatarTristan Cohan2011-09-03
應該 -avn --delete可以
Emma avatarEmma2011-09-06
如果都先find再diff?
Thomas avatarThomas2011-09-07
資料夾的mtime不同會視為不同
Kumar avatarKumar2011-09-11
該去看看manpage囉XD /checksum
Anonymous avatarAnonymous2011-09-15
還有rsync的pathname XDDD
dir後面"一定"要加/
Kyle avatarKyle2011-09-18
和cp一樣,cp f1 f2 如果f1,f2都存在,f1會跑到f2/f1去
John avatarJohn2011-09-23
為何先做成目錄清單 再用diff呢?
^不
Barb Cronin avatarBarb Cronin2011-09-24
tar 也可以用來比
Tracy avatarTracy2011-09-28
他要比檔案內容啊
Kama avatarKama2011-09-28
先比樹狀結構 在比檔案阿