最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux服務器實現文件實時同步的方法詳解

 更新時間:2024年03月01日 11:42:44   作者:_herbert  
在做系統(tǒng)集群部署時,常常會涉及到兩個或多個服務器之間文件同步,這篇文章主要來和大家介紹一下Linux服務器實現文件實時同步的方法,需要的可以參考下

1 背景說明

在做系統(tǒng)集群部署時,涉及到兩個或多個服務器之間文件同步.在軟件層面linux服務環(huán)境找到以下兩種同步方式

  • 利用linux NFS功能將網絡共享文件掛載成本地目錄
  • 采用文件監(jiān)聽,實時推送

服務器資源如下

  • 服務器1 10.2.4.51 ,作為主服務器
  • 服務器2 10.2.4.52 ,作為從服務器

2 NFS網絡共享配置

2.1 主服務器

2.1.1 安裝應用包

yum install -y nfs-utils rpcbind #nfs安裝命令 author: herbert qq:464884492
systemctl enable nfs #將nfs設置開機啟動
systemctl enable rpcbind #將rpcbind設置開機啟動

2.1.2 共享配置

主服務建立需要共享的文件夾

mkdir /home/nfs_data # 主服務需要共享的目錄 

配置從服務可以訪問主服務器

vi /etc/exports #author: herbert qq:464884492

設置內容為

/home/nfs_data/ 10.2.4.52(rw,sync,no_root_squash)

重啟服務,注意一定要先啟動 rpcbind

systemctl stop nfs 
systemctl stop rpcbind
systemctl start rpcbind 
systemctl start nfs
showmount -e # 可以檢查NFS配置是否生效
# 配置正確后,會有一下提示信息
Export list for hk51:
/home/nfs_data 10.2.4.52

2.1.3 防火墻配置

如果服務器需要開啟防火墻,需要在防火墻添加服務,可以通過firewall-cmd --state 防火墻開啟狀態(tài)

firewall-cmd --add-service=nfs --permanent --zone=public
firewall-cmd --add-service=mountd --permanent --zone=public
firewall-cmd --add-service=rpc-bind --permanent --zone=public
firewall-cmd --reload #重新載入配置,使其生效

2.2 從服務器

2.2.1 應用包安裝

yum -y install nfs-utils 

2.2.2 掛載配置

在相同的路徑建立同樣的目錄

mkdir /home/nfs_data # 從服務需要共享的目錄

掛載目錄

mount -t nfs -o sync,noac 10.2.4.51:/home/nfs_data /home/nfs_data #目錄掛載

檢查掛載

 df -h #查看掛載

配置開機啟動掛載

vi /etc/fstab #追加內容 10.2.4.51:/home/nfs_data /home/nfs_data/ nfs sync,noac 0 0

3 文件實時監(jiān)聽同步

3.1 SSH互信配置

主服務器和從服務分別生成自己的公鑰,命令如下

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  # 生成證書
cd ~/.ssh/ #切換目錄
touch authorized_keys #生成認證文件
cat id_rsa.pub >>authorized_keys #復制公鑰到認證文件
scp authorized_keys 10.2.4.52:/root/.ssh #遠程復制自己公鑰到對方服務器
service sshd restart #重啟SSH服務

主服務器和從服務器 authorized_keys 文件,保存所有需要免密登錄服務器的公鑰信息即id_rsa.pub文件中的值

3.2 同步軟件安裝

主服務器和從服務器同時安裝應用包

yum -y install inotify-tools 
yum -y install unison #author: herbert qq:464884492

主服務器從服務器在相同路徑建立需要實時共享的目錄

mkdir /home/sync_data

3.3 同步腳本編寫

主服務器(10.2.4.51)監(jiān)聽同步腳本,文件名 /home/runfilesync.sh

#/bin/bash
dstIp="10.2.4.52"
src="/home/sync_data"
dst="/home/sync_data"
/usr/bin/inotifywait -mrq -e create,delete,modify,move $src | while read line; do
/usr/bin/unison -batch $src ssh://$dstIp/$dst
echo -n "$line " >> /var/log/inotify.log
echo `date | cut -d " " -f1-4` >> /var/log/inotify.log
done   

從服務器(10.2.4.52)監(jiān)聽同步腳本,文件名 /home/runfilesync.sh

#/bin/bash
dstIp="10.2.4.51"
src="/home/sync_data"
dst="/home/sync_data"
/usr/bin/inotifywait -mrq -e create,delete,modify,move $src | while read line; do
/usr/bin/unison -batch $src ssh://$dstIp/$dst
echo -n "$line " >> /var/log/inotify.log
echo `date | cut -d " " -f1-4` >> /var/log/inotify.log
done  

3.4 運行腳本,開機自起

腳本需要后臺運行,啟動命令如下

nohup sh /home/runfilesync.sh & 
ps -aux | grep runfilesync #檢查腳本是否在運行
#設置開機啟動 author: herbert qq:464884492
crontab -e #追加內容  @reboot  /home/runfilesync.sh

4 效果測試

  • 在主服務器 /home/nfs_data 和 /home/sync_data 兩個文件夾中分別添加touch 地心俠士.txt,然后ssh到從服務,可以在從服務器這兩個文件夾中找到地心俠士.text
  • 在從服務器 /home/nfs_data 和 /home/sync_data 兩個文件夾中分別添加touch 小院不小.txt,然后ssh到主服務,可以在主服務器這兩個文件夾中找到小院不小.text

5 總結

通過軟件或者協(xié)議實現實時同步,以上兩種方法各有優(yōu)劣.采用NFS網絡共享協(xié)議,必須指定一個網絡主節(jié)點.采用inotify+unison方式,有點分布式的感覺,無需指定主節(jié)點,但同步效果方面和穩(wěn)定性方面會差一些

文件監(jiān)聽同步軟件inotify 和 unison 安裝需要編譯環(huán)境,安裝時比較麻煩.我這里提供了rpm安裝包以及對應依賴包(安裝命令rpm -ivh xxx.rpm).

到此這篇關于Linux服務器實現文件實時同步的方法詳解的文章就介紹到這了,更多相關Linux服務器文件同步內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux如何快速統(tǒng)計文件夾中的文件數量

    Linux如何快速統(tǒng)計文件夾中的文件數量

    在日常計算機使用和系統(tǒng)管理工作中,我們經常需要知道某個文件夾下有多少個文件,本文將為大家詳細介紹一下Linux快速統(tǒng)計文件夾中的文件數量的相關方法,希望對大家有所幫助
    2025-06-06
  • apache 虛擬主機的配置方法

    apache 虛擬主機的配置方法

    apache 虛擬主機的配置方法,需要的朋友可以參考下。
    2010-04-04
  • Linux之CentOS7下如何配置iptables

    Linux之CentOS7下如何配置iptables

    這篇文章主要介紹了Linux之CentOS7下如何配置iptables問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Linux系統(tǒng)調試之ltrace工具使用與調試過程

    Linux系統(tǒng)調試之ltrace工具使用與調試過程

    這篇文章主要介紹了Linux系統(tǒng)調試之ltrace工具使用與調試過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Linux、ubuntu系統(tǒng)下查看顯卡型號、顯卡信息詳解

    Linux、ubuntu系統(tǒng)下查看顯卡型號、顯卡信息詳解

    這篇文章主要介紹了如何在Linux、ubuntu系統(tǒng)下查看顯卡型號、顯卡信息的方法,需要的朋友可以參考下
    2022-04-04
  • Linux文件系統(tǒng)之inode與軟硬鏈接詳解

    Linux文件系統(tǒng)之inode與軟硬鏈接詳解

    這篇文章討論的話題是沒有被打開的文件,文件等于文件內容加文件屬性,沒打開的文件一定是存儲在磁盤上的,文件內容以數據塊的形式進行存儲,文件屬性以 inode 的形式進行存儲,文中通過圖文給大家介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • linux 使用bond實現雙網卡綁定單個IP的示例代碼

    linux 使用bond實現雙網卡綁定單個IP的示例代碼

    這篇文章主要介紹了linux 使用bond實現雙網卡綁定單個IP的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • hadoop基于Linux7的安裝配置圖文詳解

    hadoop基于Linux7的安裝配置圖文詳解

    這篇文章主要介紹了hadoop基于Linux7的安裝配置,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Linux中使用top命令的技巧

    Linux中使用top命令的技巧

    今天小編就為大家分享一篇關于Linux中使用top命令的技巧,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • 詳述Linux中Firewalld高級配置的使用

    詳述Linux中Firewalld高級配置的使用

    這篇文章主要介紹了詳述Linux中Firewalld高級配置的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10

最新評論

建宁县| 吉木乃县| 修文县| 长宁区| 金寨县| 马关县| 五原县| 高淳县| 华池县| 天全县| 郴州市| 湟中县| 正镶白旗| 阳春市| 黎平县| 庄浪县| 定结县| 灌阳县| 濮阳市| 马关县| 新蔡县| 高密市| 济南市| 宜川县| 芷江| 满洲里市| 滦平县| 汨罗市| 商河县| 莒南县| 伊通| 浪卡子县| 栖霞市| 景德镇市| 淮安市| 安远县| 长泰县| 徐州市| 文山县| 泾源县| 金山区|