利用unison+inotify 实现数据双向实时同步
利用unison+inotify 實(shí)現(xiàn)數(shù)據(jù)雙向?qū)崟r同步
環(huán)境:Centos 6.5 64位
? ?server1 :192.168.1.201
? ?server2 :192.168.1.250
需求軟件:ocaml unison inotify-tools
我這里全是使用yum安裝的,若是喜歡使用源碼編譯安裝的可以官網(wǎng)下載源碼包。
? ?yum install ocaml unison inotify?
第一步:保證兩臺服務(wù)器之間可以通過ssh無密碼訪問,為了安全,需要創(chuàng)建一個普通用戶:
兩邊執(zhí)行的步驟一樣:
? ? useradd unison
? ? passwd unison
? ? su - unison
? ? ssh-keygen -t rsa (直接三次回車即可)
? ? scp .ssh/id_rsa.pub 192.168.1.250:/home/unison/.ssh/authrized_keys
? ? scp .ssh/id_rsa.pub 192.168.1.201:/home/unison/.ssh/authrized_keys?
? ? chmod 600 .ssh
第二步:創(chuàng)建shell腳本來執(zhí)行同步
?在server1 上
? vim /home/unison/inotify.sh
#!?/bin/bash ip2="192.168.1.250" src2="/home/unison/test" dst2="/home/unison/test" /usr/bin/inotifywait?-mrq?-e?create,delete,modify,move?$src2?|?while?read?line;?do /usr/bin/unison?-batch?$src2?ssh://$ip2//$dst2 echo?-n?"$line"?>>?/home/unison/inotify.log echo?`date|?cut?-d?'?'?-f1-4`?>>?/home/unison/inotify.log done在server2 上創(chuàng)建腳本:
#!?/bin/bash ip1="192.168.1.201" src1="/home/unison/test" dst1="/home/unison/test" /usr/bin/inotifywait?-mrq?-e?create,delete,modify,move?$src1?|?while?read?line;?do /usr/bin/unison?-batch?$src1?ssh://$ip1//$dst1 echo?-n?"$line"?>>?/home/unison/inotify.log echo?`date|?cut?-d?'?'?-f1-4`?>>?/home/unison/inotify.log done? ? ? ??
最后分別在兩臺服務(wù)器上執(zhí)行腳本即可:
? nohup sh /home/unison/inotify.sh ? //加nohup,即可退出當(dāng)前用戶,也可以繼續(xù)執(zhí)行此腳本
若想開機(jī)啟動,可以加入到/etc/rc.d/rc.local中。
轉(zhuǎn)載于:https://blog.51cto.com/cuixiang/1678737
總結(jié)
以上是生活随笔為你收集整理的利用unison+inotify 实现数据双向实时同步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过地址定位坐标
- 下一篇: BCM_I2C函数更改