2012-10-11 33 views
0

我有3個獨立的服務器與分片圖像目錄(a0-z9)。不幸的是,我的rsync和php上傳腳本一路走來,現在我有3個不相匹配的目錄在3臺服務器上,應該是相同的。我不關心重寫......如果它已經存在,則不需要覆蓋它 - 這是一樣的。如何合併不同服務器上的目錄?

服務器A

/path/img/a0/001/ 
/path/img/a0/.../ 
/path/img/a0/999/ 
/path/img/../ 
/path/img/z9/001/ 
/path/img/z9/.../ 
/path/img/z9/999/ 

服務器B和服務器C具有相同的佈局。全部具有完全相同的2位目錄結構(260個目錄,a0-z9)。但他們有不同的子目錄。 ServerA可能有a0/001/,但該目錄可能在服務器B & C(或其他方法)上丟失。

我需要合併所有3個目錄。

歸根結底,如果存在一個服務器上c7/003/,它需要上存在的所有3

我怎樣才能做到這一點?我已經解決了它,但我仍然需要清理當前的混亂。

回答

0

用於同步兩個文件夾的rsync命令(給出一個很好的來源和過時/破碎目的地)的下方,你的腳本可能死了,因爲它運行太長。嘗試運行它以獲取更小的子目錄。

rsync -a --delete-after /source/images/ -e 'ssh -l username' \ 
    hostname:/path/to/destination/images/ 
+0

謝謝。雖然我不確定「 - 刪除後」是我所追求的。 – Ryan

+0

- 刪除目標後刪除在源中找不到的內容。如果你想要清理乾淨的東西,它就是你以後的樣子。 –

0

您可以嘗試使用Unison,因爲您需要雙向同步。首先將服務器1與服務器2同步,然後將服務器1與服務器3同步,最後再將服務器1與服務器2同步。最後,所有三臺服務器應該具有相同的一組文件。

相關問題