日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

您當(dāng)前位置: 主頁(yè) > 資訊動(dòng)態(tài) > 艾銻分享 >

服務(wù)器維護(hù)CentOS7.2下unison+inotify實(shí)現(xiàn)Web目錄雙向同步


2020-06-17 21:10 作者:admin

服務(wù)器維護(hù)CentOS7.2下unison+inotify實(shí)現(xiàn)Web目錄雙向同步

服務(wù)器維護(hù)小知識(shí)1. 背景

最近需要上線一個(gè)公司展廳項(xiàng)目,項(xiàng)目中主要是后臺(tái)圖片管理。因此它基本不會(huì)出現(xiàn)多人同時(shí)修改同一圖片的情況,這樣做雙機(jī)的情況下,Web目錄最好是雙向同步。
在Linux下做WEB目錄文件同步,一般有如下幾種方式:
1. nfs實(shí)現(xiàn)web數(shù)據(jù)共享
2. rsync +inotify實(shí)現(xiàn)web數(shù)據(jù)同步
3. rsync+sersync更快更節(jié)約資源實(shí)現(xiàn)web數(shù)據(jù)同步
4. unison+inotify實(shí)現(xiàn)web數(shù)據(jù)雙向同步
他們各有優(yōu)缺點(diǎn),這里我根據(jù)實(shí)際情況,選擇方案4。

服務(wù)器維護(hù)小知識(shí)2. Unison簡(jiǎn)介

Unison是一款跨平臺(tái)的文件同步工具,不僅支持本地對(duì)本地同步,也支持通過(guò)SSH、RSH和Socket等網(wǎng)絡(luò)協(xié)議進(jìn)行同步。更棒的是,Unison支持雙向同步操作,你既可以從A同步到B,也可以從B同步到A,這些都不需要額外的設(shè)定。
官方文檔: 
http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.48.4-manual.html

服務(wù)器維護(hù)小知識(shí)3. 環(huán)境準(zhǔn)備

CentOS7.2 2臺(tái): 
show160 10.1.0.160 
show161 10.1.0.161

服務(wù)器維護(hù)小知識(shí)4. 安裝Objective Caml compiler

Objective Caml compiler (version 3.11.2 or later) 官網(wǎng)地址:http://caml.inria.fr/
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 configure
make world opt
make install

服務(wù)器維護(hù)小知識(shí)5. 安裝unison

如果需要同步到遠(yuǎn)程目錄,則遠(yuǎn)程機(jī)器也需要安裝unison。
yum -y install ctags-etags  # 缺少此安裝包時(shí)下面make步驟會(huì)報(bào)錯(cuò)
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/
unison -version  # 有版本信息出現(xiàn),則安裝成功

服務(wù)器維護(hù)小知識(shí)6. 安裝inotify

inotify官方地址:https://en.wikipedia.org/wiki/Inotify
yum -y install inotify-tools

服務(wù)器維護(hù)小知識(shí)7. 配置雙機(jī)ssh信任

show160上生成密鑰,不輸入私鑰密碼。
[root@show160 src]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
d6:3b:8a:47:23:04:5d:31:9a:97:d2:d3:5c:1b:f7:a3 root@show160
The key's randomart image is:
+--[ RSA 2048]----+
|     . .+.  o .  |
|    . .+ = . + . |
|     .+ = o .  ..|
|      .o o    . .|
|     .  S .  E   |
|      ..o  .     |
|       o .o      |
|       ... .     |
|      ...        |
+-----------------+
[root@show160 src]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
[root@show160 src]# chmod 700 ~/.ssh
[root@show160 src]# chmod 600 ~/.ssh/authorized_keys
[root@show160 src]# rsync -avz /root/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys
show161上生成密鑰,不輸入私鑰密碼。
[root@show161 tomcat]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e8:b4:f7:91:ad:a0:83:fb:00:55:c2:c6:2c:65:08:91 root@show161
The key's randomart image is:
+--[ RSA 2048]----+
|o+ *+ .          |
|E o.=o           |
|   o.            |
|   .   .         |
|  .   o S        |
|   . o .   o     |
|    ..o o o .    |
|    ...o o o     |
|    .oo.  o      |
+-----------------+
[root@show161 tomcat]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
[root@show161 tomcat]# rsync -avz /root/.ssh/authorized_keys [email protected]:/root/.ssh/authorized_keys
在2臺(tái)機(jī)器上分別ssh對(duì)方IP,能無(wú)密碼登錄則表示配置成功。

服務(wù)器維護(hù)小知識(shí)8. unison的使用

unison的用法非常靈活和簡(jiǎn)單,可以通過(guò)如下三種方式調(diào)用unison。 
第一種方式:”unison profile_name [options]” 
unison默認(rèn)會(huì)讀取~/.unison目錄下的配置文件”profile_name.prf”。
注意,在這種方式下,命令行中并沒有指出要進(jìn)行同步的兩個(gè)地址,所以,此種調(diào)用unison的方式必須在配置文件profile_name.prf中通過(guò)相關(guān)的root指令設(shè)置同步的路徑和同步的參數(shù),如:
#Unison preferences file
root = /tmp/test
root = ssh://[email protected]//tmp/test/
#force =
#ignore =
batch = true 
第二種方式:”unison profile root1 root2 [options]” 
root1、root2分別表示要執(zhí)行同步的兩個(gè)路徑。這兩個(gè)路徑可以是本地目錄路徑,也可以是遠(yuǎn)程服務(wù)器的路徑,如ssh://username@//tmp/test 。由于同步的路徑已經(jīng)在命令行指定了,所以這里無(wú)需在profile.prf配置文件中進(jìn)行root指令的相關(guān)設(shè)置。
第三種方式:”unison root1 root2 [options]” 
這種方式相當(dāng)于執(zhí)行”unison default root1 root2”命令,即unison默認(rèn)讀取default.prf的配置。

服務(wù)器維護(hù)小知識(shí)9. 配置雙機(jī)web目錄同步

[root@show160 src]# mkdir -p /root/.unison/
[root@show160 src]# vim /root/.unison/default.prf
#Unison preferences file
root = /data/showroom/
root = ssh://[email protected]//data/showroom/
#force =
#ignore =
batch = true
maxthreads = 300
#repeat = 1
#retry = 3
owner = true
group = true
perms = -1
fastcheck = false
rsync = false
sshargs = -C
xferbycopying = true
log = true
logfile = /root/.unison/unison.log
[root@show161 tmp]# mkdir -p /root/.unison/
[root@show161 tmp]# vim /root/.unison/default.prf
#Unison preferences file
root = /data/showroom/
root = ssh://[email protected]//data/showroom/
#force =
#ignore =
batch = true
maxthreads = 300
#repeat = 1
#retry = 3
owner = true
group = true
perms = -1
fastcheck = false
rsync = false
sshargs = -C
xferbycopying = true
log = true
logfile = /root/.unison/unison.log
相關(guān)注解如下: 
force表示會(huì)以本地所指定文件夾為標(biāo)準(zhǔn),將該目錄同步到遠(yuǎn)端。這里需要注意,如果指定了force參數(shù),那么Unison就變成了單項(xiàng)同步了,也就是說(shuō)會(huì)以force指定的文件夾為準(zhǔn)進(jìn)行同步,類似與rsync。 
Unison雙向同步基本原理是:假如有A B兩個(gè)文件夾,A文件夾把自己的改動(dòng)同步到B,B文件夾也把自己的改動(dòng)同步到A,最后A B兩文件夾的內(nèi)容相同,是AB文件夾的合集。 
Unison雙向同步的一個(gè)缺點(diǎn)是,對(duì)于一個(gè)文件在兩個(gè)同步文件夾中都被修改時(shí),unison是不會(huì)去同步的,因?yàn)閡nison無(wú)法判斷以那個(gè)為準(zhǔn)。 
ignore = Path表示忽略指定目錄,即同步時(shí)不同步它。 
batch = true,表示全自動(dòng)模式,接受缺省動(dòng)作,并執(zhí)行。 
-fastcheck true 表示同步時(shí)僅通過(guò)文件的創(chuàng)建時(shí)間來(lái)比較,如果選項(xiàng)為false,Unison則將比較兩地文件的內(nèi)容。 
log = true 表示在終端輸出運(yùn)行信息。 
logfile 指定輸出的log文件。
另外,Unison有很多參數(shù),這里僅介紹常用的幾個(gè),詳細(xì)的請(qǐng)參看Unison官方手冊(cè)。 
-auto //接受缺省的動(dòng)作,然后等待用戶確認(rèn)是否執(zhí)行。 
-batch //batch mode, 全自動(dòng)模式,接受缺省動(dòng)作,并執(zhí)行。 
-ignore xxx //增加 xxx 到忽略列表中 
-ignorecase [true|false|default] //是否忽略文件名大小寫 
-follow xxx //是否支持對(duì)符號(hào)連接指向內(nèi)容的同步 
owner = true //保持同步過(guò)來(lái)的文件屬主 
group = true //保持同步過(guò)來(lái)的文件組信息 
perms = -1 //保持同步過(guò)來(lái)的文件讀寫權(quán)限 
repeat = 1 //間隔1秒后,開始新的一次同步檢查 
retry = 3 //失敗重試 
sshargs = -C //使用ssh的壓縮傳輸方式 
xferbycopying = true” 
-immutable xxx //不變目錄,掃描時(shí)可以忽略 
-silent //安靜模式 
-times //同步修改時(shí)間 
-path xxx 參數(shù) //只同步 -path 參數(shù)指定的子目錄以及文件,而非整個(gè)目錄,-path 可以多次出現(xiàn)。
注意:Windows下的unison配置文件默認(rèn)位于C:\Documents and Settings\currentuser.unison目錄,默認(rèn)的配置文件名是default.prf。
在兩臺(tái)機(jī)器都添加如下腳本,并使用nohup方式運(yùn)行。有需要?jiǎng)t將腳本添加到/etc/rc.local中。
#/bin/bash

src="/data/showroom/"

/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

服務(wù)器維護(hù)小知識(shí)10. 總結(jié)

經(jīng)過(guò)以上介紹,我們大體知道了unison的使用方法。它的雙向同步的確給我們帶來(lái)了極大的方便,但同時(shí)也有一個(gè)缺點(diǎn):對(duì)于一個(gè)文件在兩個(gè)同步文件夾中都被修改時(shí),unison是不會(huì)去同步的,因?yàn)閡nison無(wú)法判斷以哪個(gè)為準(zhǔn),需要人工干預(yù)處理,這就需要我們自己權(quán)衡利弊。
IT運(yùn)維  我們選擇北京艾銻無(wú)限
以上文章由北京艾銻無(wú)限科技發(fā)展有限公司整理


相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 国产熟妇的荡欲午夜视频_韩剧免费观看高清完整_女人色熟女乱_久久精品国产亚_日韩欧美一级视频_欧美xxxxx在线观看_日本免费视频www_欧美黑人牲交videossexeso | 中文无码vr最新无码av专区_成人A片色情免费观看_成人无码网WWW在线观看_精品久久久久一区二区_欧美大奶在线_成年人免费小视频_免费人成在线观看视频高潮_欧美大片aaa | 国产视频一_色偷偷女人的天堂亚洲网_亚洲国产成人精品无码区2021_韩国一级片视频_亚州国产精品精华液_8X成年视频在线观看_各种少妇正面着BBW撒尿视频_偷拍自拍视频在线 | 日本a级毛片免费视频不卡_精品久久久久久国产_久操国产在线_色综合网址_成人国产精品免费观看视频_欧美特级一级片_人妻少妇HEYZO无码专区_av天堂精品久久久久 | 欧美日韩免费一_国产主播一区二区三区在线观看_欧美妇乱大交xxxxx_亚洲国产综合久久_久久一区二区免费视频_久久久国产精品麻豆_日本一区二区三区免费在线观看_www.youjizz.com国产 | 成年人免费观看_精品久久久久久久久亚洲_一本色道久久88综合日韩精品_亚洲最大无码AV网址_精品亚洲一区二区三区_5060网免费午夜8050_精品久久久久久久久国产字幕_国产成人鲁鲁免费视频 | 艹逼视频免费看_国产一区网址_一区二区三区不卡av_操操操.com_2021亚洲国产精品无码_中国黄色大片_久久91精品国产_在线播放av网站 | 做爰全过程免费120秒_黄色片子在线观看_国产三级久久久久_国产精品久久777777_女明星黄网站色视频免费国产_国产精品爆乳奶水无码视频免费_久久免费看少妇高潮A片麻豆_hi6你好星期六免费观看 | 日韩av视屏_久久麻花精品一二三区_99福利影院_国产激情精品久久久第一区二区_奇米在线_女女女女擦bbb毛片_日本天堂在线播放_www日韩 | 久久久久在线视频_狠狠综合久久av一区二区小说_又摸又揉又黄又爽的视频_国产欧美日产激情视频_欧美在线一级va免费观看_一级黄色片aaa_女人精25xxxxx免费视频_精品国产大片久久久久久久久 国产视频精品区_在线观看一级黄色片_国内自产少妇自拍区免费_九九精品网_精品视频一区在线观看_久久精品A片777777_国产精品网站一区二区三区_日本老妇xxxx | freesex呦交_人人精品视频_国产日韩精品综合网站_亚欧在线高清专区_超碰97最新_亚洲欧洲一区二区在线观看_久草在线资源观看_二区三区在线 | 欧美精品一区二区三区精品_午夜福利无遮挡十八禁视频_久草视频首页_婷婷香蕉久久狠狠涩涩俺也去_日韩少妇视频_亚洲精品二_国产区2_亚洲人成在久久综合网站 | 欧美图片小说_欧洲日韩在线观看_妞干网免费_国产精品视频一区在线观看_精品黄色录像_精品少妇人妻av一区二区_大香伊蕉在人线国产av_国产精品亚洲欧美卡通动漫 | 国产色精品VR一区二区_国产三级精品vs_免费看亚洲片_人人曰人人做人人_一级免费大片_黑人巨大亚洲一区二区久_亚洲色丰满少妇高潮18P_九九热视频在线 | 亚洲午夜视频_久久78_麻豆国产原创视频在线播放_成人在线视频免费播放_远方的山楂树免费观看视频48集_亚洲另类春色国产精品_国产影院一区二区三区_无套内射AV五十区 | 极品少妇啪啪高清免费_噼里啪啦免费观看高清动漫_欧美人与动牲交ZOZO_亚洲欧美综合_亚洲天天在线_97久久超碰国产精品_特一级一性一交一视一频_久热久草在线 | 粉粉嫩av一区二区三区四区_午夜视频免费播放_jizz在线观看_亚洲一区二区三区免费在线_91短视频免费在线观看_杨幂ai换脸视频_免费A级毛片18禁_超碰在线播 | 久久久久久666_日日操日日碰_69视频网站_在线观看国产色视频网站_成人羞羞涩涩衣服_区一区二免费视频_国产精品亚洲片在线播放_和大佬在一起的三百六十五天免费观看 | 亚洲午夜精_国产18av_日韩福利精品_高潮喷视频在线无码_日韩国产欧美视频_JAPANESE国产高清在线观看播放_精品国产一区二区三区四区在线_啪啪精品视频 | 中文字幕日韩精品欧美一区_av国产精品毛片一区二区小说_国产黄色免费看_亚洲精品黑牛一区二区三区_成人亚洲免费_国产高清视频在线观看一区二区_91大神在线观看视频_久久久国产精品人人片99精片欧美一 | 曰韩免费视频_中文字幕丝袜第1页_视频精品久久_久久国产午夜精品理论片_成人免费国产精品视频大全_人妻被丑老头玩的潮喷_亚洲av无码国产一区二区三区不卡_天堂亚洲欧美在线中文 | 99精选视频_一区二区国产日产_蜜桃a∨噜噜一区二区三区_三级av在线_a视频免费在线观看_精品日韩在线播放_国产成人久久精品激情_国产69精品久久久久999小说 | 手机在线观看日韩av_天堂成人在线_国产91中文_欧美日韩国产精品一区二区三区四区_亚洲精品2_japanesemon乱_av无码天一区二区一三区_蜜臀成人av | 怡红院成人网_黄色在线免费播放_亚洲精品国产综合久久_日韩高清不卡一区_青青草视频一区_最近的2019中文字幕免费一页_中文视频一区视频二区视频三区_国产成人久久综合第一区 | 日韩和欧美一区二区_中国极品少妇xxxxx_久久国产精品二国产精品中国洋人_久久狼人大香伊蕉国产_欧美亚洲免费_一个色亚洲_成人欧美一区二区三区黑人牛_日本怡春院一区二区三区 | 亚洲中文无码卡通动漫3D_欧美精品久久凉森玲梦_国产美女mm131爽爽爽_www久久久久久久_欧美506070老妇乱子伦_亚洲精品在线视频网站_国产导航在线_懂色av中文一区二区三区 | 佐山爱一区二区中文字幕_黄色大全在线观看_国产日韩综合_国产精品久久久久不卡_一区二区三区国产欧美日韩_亚洲乱码中文字幕综合区_久久一日本道色综合久久_日本高清精品 | 夜夜揉揉日日人人视频_秋霞成人午夜伦在线观看_jizz在线观看免费_91大神精品在线_国产精品精品国产_成年肉动漫在线观看无码中文_老熟女重囗味HDXX70星空_久久久久久久久影院 | 午夜福利09不卡片在线机视频_最新超碰_国产视频999_粉嫩国产一区二区三区免费_亚洲福利一区二区_国产xxxx色视频在线观看_欧美一级特黄aaaa_亚洲av伊人久久青青草原 | 无码国产一区二区三区四区_www.中文字幕在线观看_日韩欧美精品二区_91成人影院_巨茎爆乳无码性色福利_亚洲高清自拍_亚洲黄色免费网站_人妻aⅴ无码一区二区三区 | 久久亚洲日韩精品一区二区三区_亚欧成人永久免费视频_国产精品中文无码第一页av在线_亚洲国产无色码在线播放_日韩国产欧美精品在线_影音先锋男人在线资源资源网_苍井そら无码AV_欧美激情视频一区二区三区在线播放 | 亚洲av无码国产一区二区_热99RE久久精品_一本一道波多野结衣AV一区_久热精品国产_视频丨9l丨白浆_久久九九精品视频_日韩免费av乱码高清专区_亚洲激情欧美 | 做爰全过程免费120秒_黄色片子在线观看_国产三级久久久久_国产精品久久777777_女明星黄网站色视频免费国产_国产精品爆乳奶水无码视频免费_久久免费看少妇高潮A片麻豆_hi6你好星期六免费观看 | 麻豆精品A片免费观看_日本黄色片xxxx_综合久久综合_色综合久久中文字幕无码_国内国外日产一区二区_乱中年女人伦视频国产_国产AV国片精品JK制服丝袜_欧美最猛性xxx | 成人精品视频99在线观看免费_真人啪啪姿势88种_日韩亚洲欧美综合_无毒不卡在线_99久久免费看视频_性xx无遮挡_免费观看全黄做爰大片国产_在线不卡二区 | 欧美性战a久久久久久_欧美性爱一区三区_大地免费资源观看_精品1区2区3区4区_国产在线榴莲视频导航_97久久精品人人槡人妻人人玩_一级红色毛片_国产AV无码专区亚洲版 | 亚洲最大色大成人av_欧美成人小视频_精品视频一区二区三区中文字幕_九色视频网_亚洲国产成人精_亚洲精品v欧美精品动漫精品_欧洲LV尺码大_一区二区三区在线看 | 国产成人无码av一区二区在线观看_91久久爽久久爽爽久久片_天天天天天干_97超超碰_精品无码久久久久国产_欧美不卡中文字幕一区二区_国产伦精品一区二区三区妓女_日本高清免费视频 | 97视频入口_美女夫妻内射潮视频_欧美3p两根一起进高清视频_国产在线不卡_超碰在线最新地址_国产视频只有这里有精品最新_99国产精品99久久久久久粉嫩_成人在线视频国产 | 国产福利免费看_天天人人干_色avav色av爱avav亚洲色拍_国产欧美一区二区久久性色99_久久久亚洲国产精品_播五月开心婷婷欧美综合_多人运动免费观看不用登录_靠比视频在线免费观看 | 精品国产不卡在线观看免费_国产精品亚洲综合天堂夜夜_日韩精品视频播放_福利小视频在线播放_亚洲一区亚洲二区亚洲三区_九九伊人八戒_亚洲中文久久精品无码1_国产色视频网站 |