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

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外包服務
二維碼 關閉
主站蜘蛛池模板: 亚洲国产黄色片_秋霞久久久久久一区二区_国产自91精品一区二区_av高清播放资源_精品一区二区三区久久久_国产.精品.日韩.另类.中文.在线.播放_少妇人妻综合久久中文字幕888_色爱综合网 | 久操视频免费在线观看_亚洲免费自拍_视频在线播放国产_小草毛片_av黄色一级_国产精品天码无卡在线观看_乱色熟女综合一区二区三区_美女一级毛片免费观看 | 色性导航_欧美一区二区三区的_成人一区视频_91网站免费入口_国产精品外围在线观看_亚洲色无码播放_4虎最新网址_成人在线观看免费高清 | 色偷偷亚洲第一综合网_在线观看的片www免费观看_爆乳一丝丝不挂裸体大胸美女_相泽南亚洲一区二区在线播放_美女裸体无遮挡永久免费视频网站_日韩av激情在线观看_99re超碰_中文天堂在线资源www | 三年片在线观看免费观看大全麻豆_免费啪啪片_中文字幕日韩人妻不卡一区_黄色一级免费网站_国产精品入口a级_日本乱淫一区二区三区_亚洲成A人片在线观看久_中文乱码人妻系列一区 | 日本免费黄色_黄色网址在线免费看_传媒精选麻豆_久久久久久久99精品欧美产片_美女黄网站18禁免费看_精品免费国产一区二区_中国少妇初尝黑人巨高清_欧美伊人久久大香线蕉在观 | 97这里只有精品_性盈盈影院67194免费影隐_一级看片免费视频囗交_97超碰在线资源_91琪琪在线_少妇bbb搡bbb搡bbb_欧美午夜刺激影院_一级免费网站 | 欧美日韩另类一区二区_人人人人人你人人人人人_国产精品久久久久av免费_亚洲精品无码久久千人斩_欧美日韩在线精品一区二区三区激情综合_久久精品视频播放_午夜影院在线免费观看_国产黄片av毛片系列 | ass亚洲熟妇毛茸茸pics_国产青青青在线手机视频在线_久久久一区二区精品_91成人噜噜噜在线播放_日韩欧美在线1卡_欧美一级久久_久久久一级_一级黄色国产 | 日本高清成人免费播放_中文乱码字幕在线中文乱码_成人一级毛片_一区二区成人在线_欧美一区二区三区在线观看视频_欧美一级二级视频_三级a做爰一女二男视频_少妇极品熟妇人妻 | 欧美久久久久_久久国产精品亚洲人一区二区三区_久久久成人毛片无码_亚洲一区二区在线看_美女张开腿黄网站免费_亚洲大片69999_中国精品少妇hd_精品欧美国产 | 特级片在线免费观看_亚州精品天堂中文字幕_97精品久久天干天天天按摩_小雪好紧好滑好湿好爽视频_99青娱乐_亚洲mv大片欧洲mv大片精品_国色天香一区二区_7777欧美日激情日韩精品 | 久草在线免费福利资源站_欧美黄色特级视频_久久er99热精品一区二区三区_日韩精品视频国产_日韩国产成人无码AV毛片蜜柚_国产精品v欧美精品v日韩精品_久久综合九色综合97婷婷_亚洲一级片大全 | 麻豆视频网站在线观看_精品视频国产亚洲_国产国产精品久久久久_黑人巨大精品欧美一区_xxxx性欧美_精品国产一级_被公连续侵犯中文字幕_伊人久久情人综岁的合网18 | 俺去俺来也在线www色官_久久久久久久国产a∨_九色综合婷婷_亚洲成人久久一区_久久一区免费_我半夜摸妺妺的奶摸到高潮_AV天堂中AV世界中文在线播放_日黄的免费视频 | 日韩在线aaa_jizzyou中国少妇高潮_久久久综合亚洲色一区二区三区_免费看黄片毛片_久久千人斩_在线播放的av_少妇性饥渴姓交HDSEX_亚洲VA中文字幕无码毛片 | 欧美久热_欧美网站在线观看_免费日批视频_精品a在线_国产精品无码MV在线观看_一级黄色大片儿_国产中文字幕精品视频_久久成人一区 | 99久久婷婷国产一区二区三区_性国产丰满麻豆videosex_99久久国产综合精品无码_国产一区99_就去色成人网_免费毛片一区二区三区久久久_国产四区在线观看_激情第一区仑乱 | 黄色录像一级大片_国产精品无码综合区_国产精品视频伦_跪趴式啪啪gif动态图27报_www久_久久久久99人妻一区二区三区_男人的天堂午夜_www.女 | 国产精品久久久久久久模特_欧美日本亚洲视频_狠狠色伊人亚洲综合成人_天天摸天天操天天舔_日本高清免费在线视频_亚洲AV成人片色在线观看高潮_日韩成人高清视频_超碰成人在线播放 | av色中色_91丨porny丨中文_亚洲人成网站色7799_在线观看第一页_2019天天操_天天综合视频_校花被肉干高h潮不_一级@片 | 亚洲四播房_九九在线视频_麻豆免费av_无码人妻精品中文字幕不卡_国产精品久久午夜夜伦鲁鲁_亚洲免费av一区二区_美女乱淫aaaa高清视频_久草色视频在线观看 | 日本免费黄色_黄色网址在线免费看_传媒精选麻豆_久久久久久久99精品欧美产片_美女黄网站18禁免费看_精品免费国产一区二区_中国少妇初尝黑人巨高清_欧美伊人久久大香线蕉在观 | 波萝蜜A毛黄AAA片_国产高清在线精品_久久久视频免费观看_欧美一区二区三区性视频_免费无码成人av在线播_91av国产在线_亚洲第一AAAAA片_米奇777在线观看 | 福利在线看_日本在线天堂_热久久国产_日韩不卡在线观看日韩不卡视频_国产日产欧产精品精品蜜芽_韩国一级片免费_亚洲欧美日韩综合在线_免费不卡视频 | 国产精品不卡av在线观看_国产成人啪午夜精品网站_欧洲熟妇大荫蒂高潮a片视频_美女色又黄一级毛片_日韩二区三区_在线观看ww_中文无遮挡h肉视频在线观看_极品美女扒开粉嫩小泬18P | 超碰网av_国产熟妇与子伦hd_亚洲一区视频网站_中国毛茸茸bbxx_大伊香蕉AV最新播放_啄木乌欧美一区二区三区在线_国产精品久久999_精品一区二区三区日韩 | 不卡视频一二三区_爱逼爱操综合网_一区二区在线免费播放_久久伊人av_久久九九国产精品怡红院_男女一边摸一边做爽爽的免费阅读_久久精品无码专区免费青青_91精品啪 | 成年美女黄网站色大免费视频_久草资源在线_2015成人永久免费视频_色偷偷AV男人的天堂京东热_免费播放一级毛片_青青草原亚洲_一区二区三区的视频_国产在沙发上午睡被强 | 国产乱来乱子视频_国产精品推荐_国产一区二区啪啪_欧美日韩一区二区三区自拍_看av在线_av国产片_国产亚洲久_91成年人 | 国产一级成av人片在线观看_久久99精品久久久久久秒播九色_精品久久久久久久久久久久久久久久久久_白嫩少妇高潮喷水_午夜家庭影院_华人久久_国产清纯白嫩初高生视频在线观看_四虎成人精品永久网站 | 91爱国产_丰满少妇被猛烈进入高清播放软件_国产一区二区三区_久久亚洲国产_91香蕉亚洲精品_亚洲夜夜欢a∨一区二区三区_www.日本国产_亚洲一区二区中文播放av | 亚洲av制服丝袜日韩高清_亚洲国产综合专区在线播放_一二三四在线观看视频韩国_最近免费观看在线中文2019_亚洲综合色久_日韩网站在线播放_亚洲成av人片在线观看高清_大地资源网高清视频免费观看 | 亚洲日韩久久精品无码蜜桃臀_日韩v在线_欧美女优在线观看_神马香蕉久久_阳茎伸入女人阳道视频免费_久久国产精品二国产精品_少妇88久久中文字幕_黄色av片三级三级三级免费看 | 污污内射在线观看一区二区少妇_国产公开久久人人97超碰_免费无码一区二区三区A片_黄色在线观看视频_九色porny丨首页原版_国产超碰人人模人人爽人人喊_亚洲a∨成熟国产一区二区成熟一级毛片_亚洲午夜影院在线观看 | 日本黄色录像一级片_国产美女不卡自在线拍_青青草在线视频网站_久久久久久a_亚洲第一综合最大av_巨尻av在线_毛片链接_久久国产精品麻豆 | 久草ab_久久黄色视_日韩精品第一_中文字幕丰满孑伦无码专区_日本中文字幕在线观看_涩涩鲁亚洲精品一区二区_国产伦理久久精品久久久久_在线观看免费高清www | 国产一级网_亚洲av成人无码天堂_CHINA丰满人妻VIDEOSHD_国产黄色a级毛片_日本午夜免费_国产男女做爰高清全过小说_日本免费二区三区_日韩在线观看视频一区二区 | 亚洲国产无线乱码在线观看_中文幕无线码中文字蜜桃_日韩一区二区三区免费高清_超碰在线免费福利_岛国色网_老司机精品线观看视频_免费特级婬片日本高清视频_免费精品视频一区 | 亚洲av制服丝袜日韩高清_亚洲国产综合专区在线播放_一二三四在线观看视频韩国_最近免费观看在线中文2019_亚洲综合色久_日韩网站在线播放_亚洲成av人片在线观看高清_大地资源网高清视频免费观看 | 看全色黄大色黄女片_亚洲欧洲日产国码综合在线_99精品自产国偷产在线_国精品**一区二区三区在线蜜桃_亚洲91p_欧美日韩在线精品_538久久_欧美国产精品久久久久久免费 |