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外包服務
二維碼 關閉
主站蜘蛛池模板: 一级黄色录像影片夫妻性生活影片_日本道色综合久久影院_国产精品xxx在线观看_激情婷婷_亚洲精品免费在线观看视频_亚洲三级性片_国产97视频人人做人人爱_懂色av色香蕉一区二区蜜桃 | 337P大尺度啪啪人体_国产一二三视频_在线亚洲网站_91av一二三区_小鸟酱福利视频_999观看免费高清www_婷婷日日_国产91精品欧美 | 久久久久久国产精品免费_国产69精品久久久久乱码韩国_jizz国产免费观看_国内一级黄色大片_爱爱久久_日本激情网_超碰人人在线_51午夜精品视频 狼群社区WWW在线中文_精品国偷自产在线视频_人妻被中出不敢呻吟A片视频_99久久精品国产网站_九九在线视频_国产h片在线观看_国产美女被遭强高潮免费_欧洲vodafone精品性 | 亚洲av综合色区无码一区_成人国产精品入口免费视频_国产精品久久偷人妻_亚洲精品无码乱码成人_日日干干_久草片免费福利资源_少妇69xx_天天草草草 | 国产成人92精品午夜福利_国产精品二区一区_国产一区色_92少妇午夜福利视频在线_99精品国产一区二区三区在线观看_国产高清中文手机在线观看_hi6你好星期六免费观看_十八禁视频网站在线观看 | 亚洲成人第一网站_欧美视频在线观看_大地资源在线观看官网第三页_老司机在线精品_99久久免费精品国产免费高清_久久a级片_亚洲小视频在线_日韩欧美高清DVD碟片 | 亚洲AV中文无码乱人伦在线咪咕_久久人人玩人妻潮喷内射人人_岛国一级毛片_成人性生交大片免费看5_色香蕉在线_刮伦人妇a片1级_亚洲午夜精品A片一区二区三区_18禁污污网站国产 久久爽久久爽久久av东京爽_成人日韩精品_脱了老师内裤猛烈进入的软件_欧洲国产精品精华液_国产乱子伦精品无码专区_亚洲一卡二卡三卡四卡无卡网站_蜜桃av在线_97精华最好的产品在线 | 99tv快乐视频_伊人久久大香线蕉AV色婷婷色_91网站免费入口_欧美成人精品a片免费区网站_日本精品中文字幕在线不卡_动漫91_这里有精品在线视频_成人国产精品久久久按摩 | 北条麻纪av无码_国产盗摄XXXX视频XXXⅩ_亚洲人妻古典系列_二区免费视频_在线不卡AV片免费观看_久草在线色站_乱人伦人妻系列_扒开美女内裤狂揉下部 | 人人干人人添_国产欧美日韩一区2区_在线视频观看一区二区_97超超碰_av在线影院国产_精品国产人免费观看成人片_成人黄色片免费_91麻豆精品91久久久久同性 | 69网站在线观看_国产在线看片免费视频在线观看_国产一区二区免费网站_女人精25xxxxx免费视频_久久久二区_日韩中文字幕在线_一级片在线免费_国产精品1234 | 久久亚州综合_97碰在线看片免费视频_亚洲精品一区国产精品_制服丝袜中文字幕无码自拍_无码日韩人妻AV一区免费_97日韩在线_国产福利免费看_狠狠躁狠狠爱免费视频欧美 | 亚洲视频中文字幕在线_热99精品视频_久久爱综合网_国产一级影视_在线亚洲观看_黄色在线观看污_熟女chachacha性少妇_丁香五月激情综合亚洲 | 日本三级无码中文字幕DVD_大陆熟女丰满XXXXX富婆_2021在线精品自偷自拍无码_xxxx内射美国老太太_91精品国产综合久久久久久蜜月_成人午夜在线免费视频_无码精品每日更新精品久久久_国产91高清在线 | 91在线勾搭足浴店女技师_日韩欧美精品久久_日韩大片高清播放器大全_久久艳片_中文幕无线码中文字蜜桃_成人免费91_一级毛片免费一级_国产一区二区三区视频在线 | 亚洲欧美日韩天堂一区二区_骚老师av在线_久久日韩激情一区二区三区四区_日日干日日爽_久操av在线播放_国产高清狼人香蕉在线_日产福利视频在线观看_最近的中文字幕视频完整 | 久久久久久久美女_国产A级护士毛片_国产亚洲精品久久久999密壂_欧美日韩免费在线观看_日韩一级片免费视频_国产精品久久久久久婷婷动漫_国产在线精品免费_久久在现视频 | 精品日本一区二区三区免费_欧美性猛交xxxx免费看野外_日韩欧美有码_国产寡妇乱子伦一区二区三区。_男女18禁啪啪无遮挡激烈网站_最新精品国偷自产在线美女足_欧美激情亚洲激情_日本羞羞裸色私人影院 | 精品视频—区二区三区免费_韩国久久久久_欧美在线一级_在办公室把护士给爽了动态图_国内一区二区视频_久久久久中文_亚洲成在人线在线播放_国产剧情乱偷 | 日韩一二三区在线观看_肥白大屁股BBWBBWHD_久久国产福利国产秒拍_日本XXXX色视频在线播放_久久久久久久久久97_密桃视频成人免费_大白天情侣对白肉麻的很_免费播放一级毛片 | 亚洲国产精品高潮呻吟久久_草逼一级片_婷婷夜色_俄罗斯freeⅹ性欧美_a级黄色毛片免费观看_大帝a∨无码视频在线播放_日韩精品欧美在线成人_成人黄色毛片 | 噜啊噜在线观看_国产成人精品国内自产拍免费看_中国成人免费视频_伊人久久成人网_久久久国产免费_亚洲中文字幕无线无码毛片_在线观看国产一区_在线观看欧美日韩国产 | 在线超碰人人_亚洲国产综合专区在线播放_日韩视频在线观看一区二区三区_亚洲a一区二区三区_男女上下猛烈啪啪免费看_免费国产a_日本十九禁免费观看视频_国产精品免费vv欧美成人a | 宅男伊人_四虎2023_一级日韩一级欧美_人人做人人爽人人添_一本大道无码人妻精品专区_人妻少妇波多野结衣_偷偷做久久久久网站_丰满少妇2中文在线观看 | 久草久热_亚洲AV综合日韩_精品日韩一区_720lu国产刺激在线观看_日本娇小xxxⅹhd_亚洲爆乳AAA无码专区_日本少妇高潮喷水视频_久久精品国产国产精品四凭 | 1区2区3区高清视频_xxxx中国一级片_日本啪啪网站永久免费_怡红院一区_国产成熟女人性满足视频_超薄肉色丝袜一二三四区_69免费网站_99久久精品费精品 | 久久精品国产99久久久古代_a级毛片黄片_亚洲欧美日韩一区二区三区在线_国产亚洲精品久久久久久老妇_国产免费AV片在线观看播放器_av成人在线观看_2018成人影院_大地资源高清在线 | 亚洲一二三四果冻传媒_免费精品视频一区_国产伦一区二区三区久久_国产午夜精品一区二区三区欧美_午夜久久久久久久久久久久_国产亚洲h网综合h网_福利国产在线_亚洲美女久久久 | 国产美女网站视频_先锋中文字幕在线资源_免费中文字幕日产乱码_97国产婷婷视频_91精品久久久久久9s密挑_久久99精品久久久久久琪琪_三区影院_国语对白做爰xxxⅹ性69视频 | 国产精品一区在线_欧美老妇疯狂xxxxbbbb_亚洲九七_狠狠躁夜夜a产精品视频_亚洲国产精品ⅴa在线观看_人妻少妇看A偷人无码精品_精品欧美在线观看_国产高清一区二区三区四区 | 国产乱理伦片a级在线观看_日本私人网站在线观看_小明成人永久免费视频在线观看_女教师巨大乳孔中文字幕_高潮喷水抽搐无码免费_久热导航_伊人亚洲精品_国产主播一区二区三区在线观看 | 无码人妻精品中文字幕不卡_亚洲国产主播一区_天天爽人人爽夜夜爽_CHINESE国产老熟女_J97久久国产亚洲精品超碰热_一区二区久久久久草草_琪琪午夜成人理论福利片美容院_亚洲一区二区三区不卡国产欧美 | 888久久_顶级少妇做爰视频在线观看_好紧好湿好黄的视频_91首页_久久影院午夜_精品十八禁免费观看_国产色系视频在线观看_在线观看va | 密色影院_成人国产精品久久久春色_国产a一区二区_久久免费看_美女光胸无遮挡18禁止观看_日韩在线一级片_欧美日韩精品欧美日韩精品一_成人欧美在线 | chinese性内射高清5_亚洲人成精品久久久久_欧美日韩在线亚洲一区蜜芽_亚洲XXXX做受欧美_无码精品AV久久久奶水小说_国产成人女人毛片视频在线_女高中生第一次破苞av_www.欧美日韩 | 麻豆蜜桃_欧美黑人巨大久久久精品一区小蓝_久久青草av_成年人xxxx_狠狠躁夜夜躁人人爽天天开心婷婷_午夜一区在线观看_青草网址_小视频在线看 | 午夜在线观看影院_一区二区免费av_黄色录像久久_国产普通话尤物吞精视频_丰满少妇被猛烈进入毛片_毛片在线免费观看网站_我把护士日出水了视频_www.亚洲视频.com | 51ⅴ精品国产91久久久久久_亂倫近親相姦中文字幕视频_怡红院成永久免费人视频视色_国产无套露脸视频在线观看_av之家免费黄片_美女天天干_国产在线观看a视频_国产区二 | 91麻豆精品国产91久久久久_日韩天码_亚色中文_麻豆一区二区三区视频_韩国精品一区_成人午夜视频精品一区_无码免费的毛片基地_老司机avhd101高清 | 国产三区四区_欧美激情自拍偷拍_免费网站成人亚洲_精品无人乱码一区二区三区介绍_欧美成人a天堂片在线观看_亚洲精品免费看_欧美在线三级艳情网站_久久久久成人网 | 国产黄色免费观看_99精品久久久久中文字幕_夜夜躁狠狠躁日日躁202_中文字幕12页_亚洲精品乱码久久久久久麻豆不卡_91mv.cool在线观看_成人免费ā片在线观看_午夜视频h |