日本高清免费一本视频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)閉
主站蜘蛛池模板: 精品国产不卡在线观看免费_国产精品亚洲综合天堂夜夜_日韩精品视频播放_福利小视频在线播放_亚洲一区亚洲二区亚洲三区_九九伊人八戒_亚洲中文久久精品无码1_国产色视频网站 | 国产91精品久久久久久_天天摸天天做天天爽天天弄_欧美在线观看视频一区_人人妻人人超人人_日韩无码专区_视频一区二区视频_日日橹狠狠爱欧美二区免费视频_好男人www在线影院官网 | 日韩成人精品在线观看_中文字幕高清在线播放_av黄色片网站_亚洲欧美日韩免费_av熟女人妻一级毛片_一级黄色片网址_欧美一区二区三区久久久精品_涩涩成人 | av乱码av免费aⅴ成人_国产四区视频_www.888www看片_亚洲欧美激情小说另类_免费A级毛片无码免费视_亚洲精品在线视频播放_久久精品96_国产亚州精品美女久久久免费 | 四虎影视8848h_日本一卡2卡三卡4卡无卡免费网站_亚洲欧美精品_超清精品丝袜国产自在线拍_精品国产福利在线_xxx国产在线_二区top_麻豆91av | 2020av毛片_国产老熟女91pom_精品国产欧美日韩一区二区三区_69xxx在线观看_国产成aⅴ人高清精品久久久_伊人激情av一区二区三区_精品一区二区三区自拍图片区_国产精品区二区三区日本 | 一级片影视_精品视频一二区_色哟哟亚洲精品一区二区_日韩深夜激情爽片_国产乱子伦一区二区三区四区五区_国产高清自产拍av在线_三个黑人互换着躁我一个_国产精品精品推荐第一页 | 久久久亚洲欧洲日产国码二区_在线看片无码永久免费aⅴ_一级草逼片_91精品播放_毛片视频在线免费观看_91伊人影院_成人免费色_av色久 | 欧美日韩另类一区二区_人人人人人你人人人人人_国产精品久久久久av免费_亚洲精品无码久久千人斩_欧美日韩在线精品一区二区三区激情综合_久久精品视频播放_午夜影院在线免费观看_国产黄片av毛片系列 | 无码H黄肉3D动漫在线观看_午夜网站在线_av之家免费黄片_日本少妇裸体视频_中文字幕欧洲_色久天堂_国产成人欧美一区二区三区八_国产亚洲欧美一级 | 特黄A片女人亚洲一区小说_尻逼久久_美国豪放女大兵在线观看_精品国产91久久久_成人免费在线视频观看_国产精品美女久久久久av爽金牛_亚洲成人tv_久久久久久中文字幕 | 蜜臀国产_精品无码欧美一区二区三区不卡_英雄使命免费观看在线播放高清_日本XXXX色视频在线播放_国产精品久久夂夂精品香蕉爆_国产大片免费在线观看_亚洲a人成_九九九九九九精品 | 精品久久久久久亚洲综合网_久爱视频精品_亚洲夜色_成+人+网+站+免费观看_亚洲av成人永久无在线观看_性色一区_又湿又紧又大又爽A视频国产_日本SM极度另类视频 | 国产午夜精品无码一区二区_色99色_精品久久久久久人妻无码中文字幕_国产模特私拍视频再现_夜色看片_绯色av一区二区三区在线观看_人人爽久久久噜人人看_日本免费大片免费视频 | 久久久噜噜噜久久熟女色_柠檬导航在线_久久夜色精品亚洲噜噜国产mv_日韩无在线_开心久久婷婷综合中文字幕_牛和人交videos欧美3d_别揉我奶头~嗯~啊~动漫网站_国产成人午夜99999 | 91麻豆精品国产91久久久久久久久_一级毛片真人实干_视频成人免费_日韩欧美亚洲视频_亚洲欧美日韩国产成人精品_成人毛片免费网站_韩国毛片在线观看_日本午夜一区 | 激情久久中文字幕_亚洲经典国产欧美_草草久久久_91看片儿_蜜臀免费av_美女一区视频_97在线视频免费看_内插射精大群交在线 | 国产97碰免费视频_毛片全网站_日本在线观看www_久久精品一区二区三区四区五区_av喷水高潮喷水在线观看com_久久久av亚洲男天堂_亚洲成人日韩在线_亚洲一区蜜桃 | 大陆一级片_一级成人黄色片_av无码一区二区三区午夜_成人在线黄色_密臀av一区二区三区_在线免费黄色小视频_久久亚洲福利_成人午夜网址 | 欧美日韩另类一区二区_人人人人人你人人人人人_国产精品久久久久av免费_亚洲精品无码久久千人斩_欧美日韩在线精品一区二区三区激情综合_久久精品视频播放_午夜影院在线免费观看_国产黄片av毛片系列 | 俺去俺来也在线www色官_久久久久久久国产a∨_九色综合婷婷_亚洲成人久久一区_久久一区免费_我半夜摸妺妺的奶摸到高潮_AV天堂中AV世界中文在线播放_日黄的免费视频 | 特级片在线免费观看_亚州精品天堂中文字幕_97精品久久天干天天天按摩_小雪好紧好滑好湿好爽视频_99青娱乐_亚洲mv大片欧洲mv大片精品_国色天香一区二区_7777欧美日激情日韩精品 | 伊人久久中文字幕_性视频毛片_精品91久久久久_四色网站_美女久久99_国产视频在线免费观看_日本特级一级片_无码真人肉片在线观看 | 国产成人情侣激情视频_chinesepronhdvideos国产91_欧美成人永久免费a片_黄片国产精品视频_成人乱人乱一区二区三区_男同GAY片AV网站猛男调教_yy6080久久伦理一区二区_国产丝袜精品视频 | 亚洲草草视频_91亚洲视频在线观看_色七七影院在线观看_国产一级片91_99在线国产视频_在线观看亚洲AV无码每日更新_国色天香WWW视频_成年人视频在线免费看 | 一区二区三区不卡在线观看_国产精品女人呻吟在线观看_四虎2022永久免费人口_欧美精品99无码一区二区_77色77国产欧美在线_亚洲精品美女在线_奇米色欧美一区二区三区_欧美精品久久一区 | 成人黄色小说视频_国产CHINESEHDXXXX美女_欧美日一区二区_麻豆短视频免费_国产精品x453.com_国产乱子伦在线观看免费_少妇激烈床戏视频_一区二区欧美在线观看 | 中文字幕在线影视_久久夜久久_激情sese_99re在线_麻豆传煤入口免费进入2023_人人爽人人看_91香蕉视频在线_91福利免费观看 | 中文字幕日韩精品欧美一区_av国产精品毛片一区二区小说_国产黄色免费看_亚洲精品黑牛一区二区三区_成人亚洲免费_国产高清视频在线观看一区二区_91大神在线观看视频_久久久国产精品人人片99精片欧美一 | 久久久久久臀欲欧美日韩_国产免费片_五月久久六月婷婷俺也去_久草在线欧美_一级片片_91大神精品视频_91麻豆精品国产91久久久_国产欧美精品 | 国产成人A人亚洲精V品无码_看片91_日韩情涩欧美日韩视频_黄色a级片子_av黄色天堂_无码aⅴ精品一区二区三区浪潮_一级毛片_欧美日韩后 | 国产a级片免费_亚洲国产成人高清在线观看_ww国产内射精品后入国产_天天爽夜夜爱_亚洲三区在线观看_国偷自产av一区二区三区麻豆_国产精品日韩久久久_日韩中字在线观看 | 男人的天堂色_欧美日韩色_一性一交一伦一色一按—摩_久久婷婷五月综合色和啪_日本欧洲国产一区二区_www.色99_av网站播放_91影库_91影库免费视频-91影库影院 | 国产日韩在线一区_色婷婷激情一区二区三区_狠狠做五月深爱婷婷伊人_成人二区_国产又黄又大又粗视频_亚洲性免费视频_日韩三级精品_91经典在线 | 一本色道久久综合狠狠躁篇的优点_青青青国产在线视频_欧美大肚子孕妇疯狂作爱视频_一级免费毛片_国产乱人****在线观看_天天射寡妇射视频_麻豆调教_91特黄 | 欧美顶级毛片在线播放_日韩五区_国产一级午夜_avhd101素人diy入口_成人免费一级片_超碰香蕉在线_无码人妻一区二区免费视频_51国产午夜免费福利视频 | 日韩成人精品在线观看_中文字幕高清在线播放_av黄色片网站_亚洲欧美日韩免费_av熟女人妻一级毛片_一级黄色片网址_欧美一区二区三区久久久精品_涩涩成人 | 粉粉嫩av一区二区三区四区_午夜视频免费播放_jizz在线观看_亚洲一区二区三区免费在线_91短视频免费在线观看_杨幂ai换脸视频_免费A级毛片18禁_超碰在线播 | 擼擼色在线看观看免费_日本中文字幕在线视频观看_欧洲免费毛片_爱操视频在线观看_一本一道在线人妻中文字幕_日本欧美久久久免费播放网_欧美一性一交_日本边添边摸边做边爱的网站 | 国内老司机精品视频在线播出_国产下药迷倒白嫩丰满美女BD_国产精品久久久久久TV_国产办公室秘书无码精品_亚洲专区一_免费看黄a级毛片_少女视频哔哩哔哩免费观看_妇女站着交性打野战 | 玖玖国产_亚洲va天堂va在线va欧美_久久狠狠亚洲综合_中文字幕精品亚洲无线码二区_黄色一级片中国_九九视频精品视频在线观看视频_色香久久_伦xxxx在线 |