日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux unison 效率,Linux中inotify+unison实现数据双向(多向)实时同步

發(fā)布時間:2023/12/18 linux 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux unison 效率,Linux中inotify+unison实现数据双向(多向)实时同步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言

在某種特定的情況下需要在多個Linux服務(wù)器上做指定文件文件夾的實時同步,一個服務(wù)器修改了文件其它服務(wù)器的文件能保持一致.

準(zhǔn)備環(huán)境

Centos服務(wù)器1:139.199.152.84

Centos服務(wù)器2:111.230.103.208

指定同步的文件夾:/usr/Tomcat/image與/usr/Tomcat/upload 目錄兩個服務(wù)器都創(chuàng)建好目錄

目錄.png

配置步驟

安裝Objective Caml compiler

服務(wù)器1與服務(wù)器2都要安裝

#yum install make gcc gcc-c++

#cd/tmp

#wget http://caml.inria.fr/pub/distrib/ocaml-4.03/ocaml-4.03.0.tar.gz

#tar -zxvf ocaml-4.03.0.tar.gz

#cd ocaml-4.03.0

#./configure

#make world opt

#make install

安裝Unison

服務(wù)器1與服務(wù)器2都要安裝

#yum install ctags-etags

#cd/tmp

#wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.48.4.tar.gz

#mkdir unison-2.48.4 && cd unison-2.48.4

#tar -zxvf /tmp/unison-2.48.4.tar.gz

#cd src

#make UISTYLE=text THREADS=true

#cp unison /usr/local/bin/

//有版本信息出現(xiàn)則安裝成功

#unison -version

安裝inotfy

服務(wù)器1與服務(wù)器2同樣安裝

#yum -y install inotify-tools

配置雙機(jī)SSH信任

兩臺服務(wù)器先安裝一下rsync

#yum install rsync -y

ssh信任.png

測試是否成功只要不用輸入密碼說明配置成功

服務(wù)器1測試

#ssh -p 22 111.230.103.208 date

服務(wù)器2測試

#ssh -p 22 139.199.152.84 date

測試SSH信任.png

在服務(wù)器139.199.152.84配置

#ssh-keygen

//連續(xù)按三次空格

# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

//給權(quán)限

# chmod 700 ~/.ssh

# chmod 600 ~/.ssh/authorized_keys

//需要輸入一次密碼

# rsync -avz /root/.ssh/authorized_keys root@111.230.103.208:/root/.ssh/authorized_keys

在服務(wù)器111.230.103.208配置

#ssh-keygen

//連續(xù)按三次空格

# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

//給權(quán)限

# chmod 700 ~/.ssh

# chmod 600 ~/.ssh/authorized_keys

//需要輸入一次密碼

# rsync -avz /root/.ssh/authorized_keys root@139.199.152.84:/root/.ssh/authorized_keys

配置雙機(jī)同步

在服務(wù)器139.199.152.84配置

//先進(jìn)入/tem/uniso/src/目錄

#mkdir -p /root/.unison/

#vim /root/.unison/default.prf

//配置的內(nèi)容

#Unison preferences file

//root是配置的兩個目錄本地和遠(yuǎn)程,注意遠(yuǎn)程IP地址后面是兩個//

root = /usr/Tomcat/

root = ssh://root@111.230.103.208//usr/Tomcat/

//path 指定的文件夾如果是Tomcat整個目錄不用指定path

path = upload

path = image

#force =

#ignore =

batch = true

maxthreads = 300

#repeat = 1

#retry = 3

owner = true

group = true

//使用ssh壓縮傳輸方式

perms = -1

fastcheck = false

//true表示通過文件創(chuàng)建時間來比較兩地文件,若為false比較文件的內(nèi)容

rsync = false

//保持同步過來保持讀寫權(quán)限

sshargs = -C

xferbycopying = true

//默認(rèn)值是true,表示當(dāng)需要同步的兩個目錄一個為空時,unison將停止,這里設(shè)置為false,即便為空unison也不會停止運轉(zhuǎn)

confirmbigdel = false

log = true

logfile = /root/.unison/unison.log

服務(wù)器1.png

在服務(wù)器111.230.103.208配置

//先進(jìn)入/tem/uniso/src/目錄

#mkdir -p /root/.unison/

#vim /root/.unison/default.prf

//配置的內(nèi)容

#Unison preferences file

//root是配置的兩個目錄本地和遠(yuǎn)程,注意遠(yuǎn)程IP地址后面是兩個//

root = /usr/Tomcat/

root = ssh://root@139.199.152.84//usr/Tomcat/

//path 指定的文件夾如果是Tomcat整個目錄不用指定path

path = upload

path = image

#force =

#ignore =

batch = true

maxthreads = 300

#repeat = 1

#retry = 3

owner = true

group = true

//使用ssh壓縮傳輸方式

perms = -1

fastcheck = false

//true表示通過文件創(chuàng)建時間來比較兩地文件,若為false比較文件的內(nèi)容

rsync = false

//保持同步過來保持讀寫權(quán)限

sshargs = -C

xferbycopying = true

//默認(rèn)值是true,表示當(dāng)需要同步的兩個目錄一個為空時,unison將停止,這里設(shè)置為false,即便為空unison也不會停止運轉(zhuǎn)

confirmbigdel = false

log = true

logfile = /root/.unison/unison.log

服務(wù)器2.png

創(chuàng)建腳本文件

兩個服務(wù)器都要創(chuàng)建.sh腳本

//到usr目錄下創(chuàng)建

#cd usr/

#vim unison.sh

//內(nèi)容

#/bin/bash

src="/usr/Tomcat/"

/usr/bin/inotifywait -mrq -e create,delete,modify,move $src | while read line; do

/usr/local/bin/unison

echo -n "$(date +%F-%T) $line" >> /var/log/inotify.log

done

//執(zhí)行腳本

#sh unison.sh

腳本編寫.png

//讓腳本后臺執(zhí)行

#chmod +x unison.sh

#nohup ./unison.sh >/dev/null 2>&1 &

完成

從服務(wù)器1 upload中添加一個文件刷新服務(wù)器2的upload看是不是同步過去了

upload.png

檢查image文件夾是否可以同步

image文件.png

檢查nosynchro文件夾是否屏蔽了同步

image.png

多服務(wù)器實時同步思路

image.png

總結(jié)

以上是生活随笔為你收集整理的Linux unison 效率,Linux中inotify+unison实现数据双向(多向)实时同步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。