介紹:
由於使用rsync+inotify做單向同步很出色,但是雙向同步卻很不理想,所以使用unison來做資料的雙向同步。unison是一款跨windows/linux/mac os平台的檔案同步工具,不僅支援本地對本地同步,也支援通過ssh、rsh和socket等網路協議進行同步。更棒的是,unison支援雙向同步操作,你既可以從a同步到b,也可以從b同步到a,這些都不需要額外的設定。
3.ocaml安裝指令碼如下:
tar -zxf ocaml-3.09.3.tar.gz
cd ocaml-3.09.3
./configure
make world opt
make install
cd ..
4.unison安裝指令碼如下:
tar -zxf unison-2.40.63.tar.gz
cd unison-2.40.63
make uistyle=text
make install
cp unison /usr/local/bin
scp unison 10.10.11.92:/usr/local/bin/
5.配置雙機ssh信任
a主機:
ssh-keygen -t rsa
cd .ssh/
scp id_rsa.pub 10.10.11.92:/root/
b主機--10.10.11.92:
cat id_rsa.pub >>~/.ssh/authorized_keys
b主機:
ssh-keygen -t rsa
cd .ssh/
scp id_rsa.pub 10.10.11.85:/root/
a主機--10.10.11.85:
cat id_rsa.pub >>~/.ssh/authorized_keys
6.通過配置檔案來使用unison
使用root安裝unison後,配置檔案預設生成在/root/.unison/default.prf,可以手動寫乙個配置檔案,執行unison時只需指定此配置檔案即可。
下面以同步兩個不同主機的/mnt目錄為例的配置資訊:
只在a主機中配置:
# more /root/.unison/unison_test.prf
root = /mnt
root = ssh:
#force =/mnt
path = mnt
ignore = path tmp
#prefer = ssh:
batch = true
maxthreads = 180
#repeat = 1
#retry = 3
owner = true
group = true
perms = -1
fastcheck=false
rsync =false
#debug=verbose
sshargs = -c
xferbycopying = true
confirmbigdel = false
log = true
logfile = /root/.unison/unison_test.log
7.在a主機上做計畫任務,進行每兩分鐘自動同步
*/2 * * * * /usr/local/bin unison unison_test.prf >/dev/null 2>&1 &
注各引數詳解:
——root表示需要同步的目錄
——force表示使用unison單項同步功能,注釋掉以便啟用雙向同步.
——ignore = path表示同步/mnt目錄時不同步tmp。
——batch = true,表示全自動模式,接受預設動作
——fastcheck true,表示同步時使用檔案的建立時間來比較兩地檔案,如果這個選項為false,unison則將比較兩地檔案的內容.建議設定為true
——log = true
——logfile則指定了同時將輸出寫入log檔案。
Linux下Unison實現檔案雙向同步
unison preferences file root home admin test root ssh force ignore batch true repeat 1 retry 3 owner true group true perms 1 fastcheck false rsync fal...
Linux下Unison實現檔案雙向同步
unison preferences file root home admin test root ssh force ignore batch true repeat 1 retry 3 owner true group true perms 1 fastcheck false rsync fal...
使用Unison 同步檔案
unison是乙個跨平台的檔案同步工具,它在同步計算機或儲存裝置之間的資料時非常有用。環境 安裝unison 在兩個系統中都要安裝epel源,然後都要安裝unison root 192 168 43 165 yum y install epel release root 192 168 43 165...