unison做資料雙向同步

2021-09-22 03:08:36 字數 2077 閱讀 9369

介紹: 

由於使用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...