2010-09-05 27 views
0

我有兩臺服務器,計算機A和計算機B,都運行Linux。我需要編寫一個程序或一個shell腳本,它將持續監視計算機A上的主目錄的內容,如果有任何更改,請將更改複製到計算機B上的主目錄,以使兩個主目錄始終相同。 (對計算機B上的主目錄所做的任何更改並安全地被忽略。)保持主目錄同步到Linux機箱

回答

0

使用rsync,這將解決您的問題。大多數發行版都會預先安裝。

+0

rsync不會監視目錄中的更改,但我同意這將是一個用於實際傳播的好工具。確保它立即發生可能會有點困難。 – Darael 2010-09-05 21:38:59

4

您是否考慮過從計算機A通過網絡文件系統導出/home,例如: NFS

您還可以以只讀模式在B上掛載導出的文件系統,因此如果需要,您將無法從B修改/home的內容。

2

假設一個合理的最近的Linux內核(其中一個包括inotify - 自2.6.13以來就已經存在),您可以使用inotify-tools(如here)來監視更改並調用rsync來更新計算機B.應該做你要求的東西,並允許B不會傳播給A的變化。

你也許可以用incron做同樣的工作,incron的工作方式類似於cron,但基於文件系統事件而不是時間,但似乎更傾向於用於單個文件。