欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux服務器實現(xiàn)文件實時同步的方法詳解

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

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

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

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

相關文章

  • /etc/security/limits.conf詳解與配置過程

    /etc/security/limits.conf詳解與配置過程

    在Linux系統(tǒng)中,通過/etc/security/limits.conf文件和/etc/security/limits.d/目錄下的配置文件,可以設置用戶或用戶組的資源限制,配置文件中的soft和hard限制分別代表警告級別和硬性限制,它們需要匹配才能生效
    2024-10-10
  • Ubuntu無法連接網絡的解決辦法

    Ubuntu無法連接網絡的解決辦法

    這篇文章主要為大家詳細介紹了虛擬機中Ubuntu無法連接網絡的有效解決辦法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 簡析Linux網絡編程函數(shù)

    簡析Linux網絡編程函數(shù)

    這篇文章主要介紹了Linux網絡編程函數(shù),利用這些基本函數(shù),可以實現(xiàn)tcp協(xié)議通訊,可以實現(xiàn)通信。需要了解的小伙伴可以參考一下
    2021-08-08
  • 詳解fedora 開啟 apache 并 開啟目錄瀏覽模式

    詳解fedora 開啟 apache 并 開啟目錄瀏覽模式

    這篇文章主要介紹了fedora 開啟 apache 并 開啟目錄瀏覽模式的相關資料,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • Linux之如何設置CPU Performance模式

    Linux之如何設置CPU Performance模式

    這篇文章主要介紹了Linux之如何設置CPU Performance模式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • bash命令使用詳解

    bash命令使用詳解

    在本篇文章里小編給大家分享的是關于bash命令使用的技巧和方法,有需要的朋友們學習下。
    2019-01-01
  • Apache下MP3 防盜鏈的解決辦法

    Apache下MP3 防盜鏈的解決辦法

    對于很多放MP3的網站來說,防盜鏈對于控制流量是個非常重要的事情,尤其是MP3被百度收錄之后,那流量大的驚人,每天都上百G的流量,很快你的站點的流量就會用光了。
    2010-08-08
  • CentOS服務器+監(jiān)控寶SNMP監(jiān)控全攻略分享

    CentOS服務器+監(jiān)控寶SNMP監(jiān)控全攻略分享

    很多人和Sudu一樣都想使用監(jiān)控寶去監(jiān)控自己的linux服務器,但是因為安裝snmp存在一些問題導致無法成功設置snmp的設置。
    2010-12-12
  • 手把手教你啟用Win10的Linux子系統(tǒng)(圖文超詳細)

    手把手教你啟用Win10的Linux子系統(tǒng)(圖文超詳細)

    這篇文章主要介紹了手把手教你啟用Win10的Linux子系統(tǒng)(圖文超詳細),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Centos7.3開機自動啟動或執(zhí)行指定命令操作

    Centos7.3開機自動啟動或執(zhí)行指定命令操作

    這篇文章主要介紹了Centos7.3開機自動啟動或執(zhí)行指定命令操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11

最新評論