日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux數(shù)據(jù)同步方法

方案背景:A服務(wù)器和B服務(wù)器之間(可1對(duì)1,也可多對(duì)多,在此以簡單的1對(duì)1舉例)需要數(shù)據(jù)同步,此方案常用于遠(yuǎn)程災(zāi)備。

成都創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、成都做商城網(wǎng)站、政府網(wǎng)站等各類型客戶群體,為全球近1000家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

同步方案根據(jù)應(yīng)用場景大約有兩種,定時(shí)同步和實(shí)時(shí)同步。定時(shí)同步具有同步時(shí)間固定、實(shí)時(shí)性差、消耗資源較小的特點(diǎn);實(shí)時(shí)同步具有實(shí)時(shí)性強(qiáng)、同步密集、較耗資源等特點(diǎn)。

一、定時(shí)同步

1、安裝軟件:

yum install rsync -y

2、免密登錄(也可使用明文采用模擬交互式登錄方式,但是從安全角度出發(fā)還是建議使用免密登錄):

ssh-keygen -t rsa

生成后可以進(jìn)入目錄cd ~/.ssh/ 把生成的密鑰~/.ssh/id_rsa.pub內(nèi)容復(fù)制到遠(yuǎn)程主機(jī)的/root/.ssh/authorized_keys中

在這里很多同學(xué)對(duì)以上的操作為什么就不用輸入密碼的問題感到好奇,了解免密登錄的同學(xué)可以跳過這段介紹。這里介紹下免密登錄的原理:

rsa又稱非對(duì)稱密鑰算法,對(duì)應(yīng)的是對(duì)稱密鑰算法。

所謂對(duì)稱密鑰算法就是A和B通信,為了雙方能確認(rèn)對(duì)方的身份,A和B約定一個(gè)雙方都知道的密鑰k來確定身份如下:

A => (mk) B A發(fā)送m明文和K密鑰跟B,B確認(rèn)K密鑰和之前A約定的一樣,就能確定A的身份是真實(shí)的。反之B到A的通信也是如此。

非對(duì)稱加密需要兩個(gè)密鑰:公鑰 (publickey) 和私鑰 (privatekey)。公鑰和私鑰是一對(duì),如果用公鑰對(duì)數(shù)據(jù)加密,那么只能用對(duì)應(yīng)的私鑰解密。如果用私鑰對(duì)數(shù)據(jù)加密,只能用對(duì)應(yīng)的公鑰進(jìn)行解密。因?yàn)榧用芎徒饷苡玫氖遣煌拿荑€,所以稱為非對(duì)稱加密。

所以以上的操作把A服務(wù)器的公鑰共享跟了B服務(wù)器(遠(yuǎn)程主機(jī)),所以A服務(wù)器登錄B服務(wù)器就不再需要傳統(tǒng)的交互式輸入密碼登錄,B服務(wù)器能通過A服務(wù)器的公鑰而確認(rèn)A服務(wù)器的真實(shí)性(私鑰)。

[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub  known_hosts

3、編寫shell腳本

[root@localhost ~]# vim back.sh
#!/bin/sh
rsync -avz -e 'ssh -p 22' root@x.x.x.x:/XXX/pub /data/

注意:rsync的數(shù)據(jù)同步分為拉和推兩種不同的動(dòng)作,在編寫腳本之前,一定要測(cè)試命令是否能正常執(zhí)行。

4、crontab定時(shí)執(zhí)行配置(每天3點(diǎn)執(zhí)行腳本)

到此,定時(shí)同步就配置好了。

二、實(shí)時(shí)同步

Linux 數(shù)據(jù)同步方案Linux 數(shù)據(jù)同步方案

Inotify簡介

Inotify 是一個(gè) Linux特性,從版本2.6.13開始提供,它監(jiān)控文件系統(tǒng)操作,比如讀取、寫入和創(chuàng)建。Inotify 反應(yīng)靈敏,用法非常簡單,并且比 cron 任務(wù)的繁忙輪詢高效得多。

開始配置Inotify

注:在開始之前需要在服務(wù)器A和B上都安裝好rsync。

1、在服務(wù)器B上調(diào)整inotify內(nèi)核參數(shù),vim /etc/sysctl.conf

fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576

2、使調(diào)整inotify內(nèi)核參數(shù)立刻生效

sysctl -p

3、安裝Inotify-Tool工具

# 先安裝擴(kuò)展包源,否則inotify-tools找不到
yum install epel-release
yum install inotify-tools

4、打開兩個(gè)終端,一個(gè)終端執(zhí)行創(chuàng)建刪除等操作,另一個(gè)執(zhí)行Inotify-Tool工具,測(cè)試Inotify-Tool工具時(shí)候正常

inotifywait -mrq -e modify,create,move,delete /var/www/

inotifywait:用于持續(xù)監(jiān)控,實(shí)時(shí)輸出結(jié)果
inotifywatch:用于短期監(jiān)控,任務(wù)完成后再出結(jié)果

5、編寫腳本

vim /root/tongbu.sh

#!/bin/bash
INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /root/cs"
RSYNC_CMD="rsync -avz -e 'ssh -p 22'  /root/cs/  root@x.x.x.x:/root/cs/ "
$INOTIFY_CMD | while read DIRECTORY EVENT FILE
do
   if [ $(pgrep rsync | wc -l) -le 0 ] ; then
       $RSYNC_CMD
   fi
done

注:這里要特別注意,邏輯關(guān)系不要搞混了,是B服務(wù)器推送跟A服務(wù)器。

6、添加開機(jī)自動(dòng)后臺(tái)自動(dòng)運(yùn)行,編輯/etc/profile文件,在最后一行加入下面語句

/bin/bash /root/tongbu.sh &

到此定時(shí)同步和實(shí)時(shí)同步都講解完畢。根據(jù)不同的場景應(yīng)用不同的方案,需要靈活應(yīng)對(duì),特別要注意一點(diǎn)的是。實(shí)時(shí)同步的方案,監(jiān)控目錄千萬不能設(shè)置成日志目錄,不然服務(wù)器cpu飆升很有可能會(huì)宕機(jī)。


當(dāng)前名稱:Linux數(shù)據(jù)同步方法
轉(zhuǎn)載來源:http://www.dlmjj.cn/article/dpceepg.html