456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當前位置: 主頁 > 資訊動態 > 艾銻分享 >

服務器維護CentOS7.2下unison+inotify實現Web目錄雙向同步


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

服務器維護CentOS7.2下unison+inotify實現Web目錄雙向同步

服務器維護小知識1. 背景

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

服務器維護小知識2. Unison簡介

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

服務器維護小知識3. 環境準備

CentOS7.2 2臺: 
show160 10.1.0.160 
show161 10.1.0.161

服務器維護小知識4. 安裝Objective Caml compiler

Objective Caml compiler (version 3.11.2 or later) 官網地址: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

服務器維護小知識5. 安裝unison

如果需要同步到遠程目錄,則遠程機器也需要安裝unison。
yum -y install ctags-etags  # 缺少此安裝包時下面make步驟會報錯
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  # 有版本信息出現,則安裝成功

服務器維護小知識6. 安裝inotify

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

服務器維護小知識7. 配置雙機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 root@10.1.0.161:/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 root@10.1.0.160:/root/.ssh/authorized_keys
在2臺機器上分別ssh對方IP,能無密碼登錄則表示配置成功。

服務器維護小知識8. unison的使用

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

服務器維護小知識9. 配置雙機web目錄同步

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

服務器維護小知識10. 總結

經過以上介紹,我們大體知道了unison的使用方法。它的雙向同步的確給我們帶來了極大的方便,但同時也有一個缺點:對于一個文件在兩個同步文件夾中都被修改時,unison是不會去同步的,因為unison無法判斷以哪個為準,需要人工干預處理,這就需要我們自己權衡利弊。
IT運維  我們選擇北京艾銻無限
以上文章由北京艾銻無限科技發展有限公司整理


相關文章

IT外包服務
二維碼 關閉
主站蜘蛛池模板: 欧美一区二区三区久久综合_久久久精彩_国产视频精品区_爱爱免费看_日韩精品视频三区_国产成人精品高清久久_亚洲综合视频在线播放_日韩欧美中文字幕视频 | 蜜臀久久精品久久久久久酒店?_日韩成人av影院_国产办公室秘书无码精品_中文字幕91爱爱_人妻丝袜AV中文系列先锋影音_欧美一区三区_国产精品美女久久久网站_无码精品一区二区三区四区爱奇艺 | 国产99在线观看_亚洲欧洲日韩综合二区_jk美女啪啪_一级毛片私人影院_91大神精品在线_牛和人交videos欧美3d_hd法国xxxxhdvideos_免费看片的网址 | 四虎国产精品永久在线无码_两性午夜色视频免费网站_亚洲国产精品久久一线不卡_2019天天操_玩偶姐姐在线免费观看_国产精品99无码一区二区_亚洲第一在线_北条麻妃一区二区免费播放 | 99热在线成人_九色一区_中文字幕网址_中文字幕www_日韩免费看片_丰满少妇被啪啪到高潮图片_玩丰满高大邻居人妻无码_www.在线观看av | 国产福利视频网站_免费成年人视频在线观看_四lll少妇bbbb搡bbbb_精品久久久久久无码人妻_蜜臀成人_一区二区三区在线观看免费视频_亚洲欧美国内爽妇网_日本无遮挡吸乳呻吟视频 | 色两性网欧美_黄色av视频_亚洲男人天堂_福利午夜国产网站在线不卡_国产精品亚洲А∨天堂网_国产伦精品_草逼欧美_亚洲毛片AV日韩AV无码 | 国产天堂第一区_亚洲欧美日韩国产自偷_被黑人伦流澡到高潮hn小说_国产成人久久av免费高清密臂_激情草逼_久久久久亚洲a_在线看国产_夜射av | 亚洲欧美日本精品_尤物视频最新网址_日本淫片_亚洲成人超碰_最新国产vr麻豆aⅴ精品无_av免费影院_午夜亚洲视频_国产女厕所盗摄老师厕所嘘嘘 | 精品美女久久久久_高清视频一区二区_亚洲s色大片在线观看_欧美成年人在线观看_亚洲精品福利视频_性猛交xxxxx按摩欧美_这里只有精品免费_国产黄频免费高清视频 | 啄木乌欧美一区二区三区在线_免费一级a毛片夜夜看_亚洲第一狼人天堂久久_性猛交╳XXX乱大交_韩国激情高潮无遮挡hd_巨胸喷奶水WWW视频网站_蜜桃av入口观看_女性自慰网站免费观看w | 精品国产亚洲第一区二区三区_gay取精潮喷10次_日韩国产在线看_国产一区二区三区网_九七视频在线观看_日韩在线中文字幕视频_高清无码专区av_av网站大全在线观看 | 国产熟妇与子伦_亚洲婷婷在线视频_中文在线中文a_夜夜春亚洲嫩草一区二区_777米奇色8888狠狠俺去了_香蕉视频在线观看亚洲_亚洲国产日韩在线人成蜜芽_色大18成网站www在线观看 | 人人干在线_www.欧美日本_第四色狠狠_亚洲美女视频在线观看_国产a一级毛片爽爽影院_欧洲激情网_99re免费视频_欧美特黄特色视频 | 欧美A级毛欧美1级A大片_国产日韩欧美一区二区三区乱码_国产精品全国免费观看高清_在线观看中文无码最新视频_男同GAY片AV网站猛男调教_久久精品国产免费看久久精品_少妇富婆一区二区三区夜夜_青草在线视频 | 天天搞美女视频_久久久亚洲欧洲日产国码二区_边摸边吃奶边做爰视频网站_天天干天天爱天天操_欧美熟妇性XXXX欧美熟人多毛_亚洲春色CAMELTOE一区_免费国无人区码卡二卡_亚洲精品国产黑色丝袜 | 男人的好看免费观看在线视频_秋霞人成在线观看免费视频_99久久国产免费_69堂在线_色视频一区二区_国产美女操_自拍视频国产_欧洲美熟女乱AV亚洲一区 亚洲综合一二三区_午夜伦理片在线观看_免费精品国产自产拍在线观看图片_日韩av有码在线_性欢交69国产精品_91精品一二区_久久久综合九色合综国产精品_伊人精品在线观看 | 美女视频黄频A免费高清不卡_窝窝人体色www_国产A∨天天免费观看美女_极品美女Aⅴ在线观看_操操操.com_亚洲日本区_亚洲精品一区二区三区樱花_国产AV仑乱内谢 | 91社区在线观看高清_91免费版网址_成人福利国产精品视频_日韩一级免费大片_中文字幕第十五页_亚洲精品99999_幻女bbwxxxx_久久久久av综合网成人 | 亚洲天堂地址_美女免费视频一区二区三区_午夜视频在线免费播放_国产精品VA在线观看无码_少妇人妻偷人精品无码视频新浪_亚洲AV无码AV在线播放_成人在线视频一区_黄色二区 | 国产高清在线视频观看_欧美肉大捧一进一出免费视频_台湾91视频_亚洲国产精品无码久久久不卡_成人激情视频在线观看_国产成人免费视频网站高清观看视频_国内黄色大片_九九视频免费在线 | 澳门久久精品_av免费播放网站_超碰99久久_亚洲高清成人_成人午夜网站_一级免费大片_成人看片在线观看_亚洲AV日韩AV在线观看 | 97成人资源网_亚洲第二色_欧美日韩中_欧美成aⅴ人高清WW_精品国产日韩亚洲一区二区_偷玩朋友的醉酒人妻中文字幕_亚洲AV无码片VR一区二区三区_高清一区在线观看 | 国产成人久久精品激情91_在线免费色视频_亚洲精品字幕_青青草综合网_久久www免费人成看片爱潮_国产精品www视频_av解说在线精品_精品久久99 | 亚洲AV综合色区无码另类小说_天天超碰_成人免费看网站_91精品999_日韩三级视频_国产午夜精品视频免费不卡_91免费黄色_中国娇小与黑人巨大交 | 人妻内射视频麻豆_色爱综合网_成人黄色小说网_色噜噜狠狠一区二区三区果冻_久久久久久美女精品啪啪_天天做天天爱天天爽综合网_成人午夜视频免费_久久国产成人午夜av影院 | 久久午夜夜伦鲁鲁一区二区_国产成人精品不卡_九色精品视频在线观看_无码一区二区三区不卡AV_久久久久高清视频_狠狠色噜噜狠狠狠狠888奇米_无码人中文字幕_红桃TV.欧美国产 | 亚洲天堂地址_美女免费视频一区二区三区_午夜视频在线免费播放_国产精品VA在线观看无码_少妇人妻偷人精品无码视频新浪_亚洲AV无码AV在线播放_成人在线视频一区_黄色二区 | s级爆乳玩具酱国产vip皮裤_国产高清免费在线观看_精品动漫一区_av在线播放av_黄色大片毛片_色综合一区_一区影院_国产精品二区三区 | 男吃奶玩乳尖高潮视频_少妇欲求不满_一级黄色大片免费观看_亚洲超碰在线_古装三级在线观看_亚洲综合日韩中文字幕_欧美亚洲另类在线视频_高潮久久久 | 国产偷自拍对白在线视频_风流少妇又紧又爽又丰满_旧里番高h无码无修在线观看_日本片成人在线观看_日韩av在线网_狠狠色视频_色88888久久久久久影院_操人视频免费 | 国产中文字幕在线看_日韩av一区二区在线观看_国产日韩三级_91久久_中文字幕精品久久一区二区三区_夜夜撸网站_日韩精品一区二区三区水蜜桃_一本色综合久久 日韩第一页在线观看_看av在线_一区免费_日韩在线视频精品_91色爱_国产成人精品av在线_9区中文字幕在线_成熟丰满熟妇高潮XXXXX视频 | 久久久品_青青偷拍视频_使劲快高潮了国语对白在线_国精品**一区二区三区在线蜜桃_2019亚洲男人天堂_欧美一及_国产草莓视频无码A在线观看_日本少妇色xxxxx中国免费看 | 成人精品一区二区三区_闷骚的老熟女人15P_影音先锋色情资源站_夫妻午夜视频_久久精品无码专区免费青青_亚洲丝袜制服美女av_久久午夜影视_酒色影院 | 最近免费看av_成人午夜视频福利_JAPAN黑人极大黑炮_美女裸体黄网站18禁免费看影站_色欲AV永久无码精品无码蜜桃_国产精品99在线观看_中文字幕人妻熟女人妻A片_日韩女优精品 | 91看片王_四虎影视在线视频大全免费观看_国产校花精品av_欧美亚洲专区_户外露出一区二区三区_欧美在线专区_电锯惊魂1在线观看_日韩爱情动作片 | 亚洲自拍偷拍视频_精品日韩在线视频_伦理一区二区_久久青色_日韩精品久久久久久久软件91_中字无码AV点击进入_色先锋影音岛国av资源_久久精品国产久精国产69 | 成人手机在线视频_gay男同帅哥网站在线观看_欧美人与拘牲交大全视频_日韩高清不卡一区二区_一区二区三区四区免费在线观看_tube69最新_亚洲欧洲日产韩国在线看片_91嫩草国产在线观看 | 艳Z门照片无码AV_窝窝午夜精品一区二区_国产二区在线观看视频_97se亚洲综合在线_亚洲成av人无码不卡影片_国产午夜免费高清久久影院_在线播放免费av_亚洲精品中国国产嫩草影院美女 | 人人射人人爽_国产中老年妇女精品_国产精品久久久久久男贼秘图_日本xx高清_亚洲欧洲一区二区三区_国产二级一片内射视频播放_亚洲精品热_法国性经典xxxxx | 国产又黄又爽胸又大免费视频_日日干夜夜爽_女人和男人视频网站_97中文字幕第二十二页_亚洲第一网站男人都懂_女人夜夜春高潮爽A∨片传媒_精品一卡2卡三卡4卡免费网站_亚洲精品久久AV无码蜜桃第1集 |