1. 程式人生 > >CentOS7 Rsync服務搭建-Rsync+Inotify架構實現實時同步

CentOS7 Rsync服務搭建-Rsync+Inotify架構實現實時同步

關於centos7版本上面搭建rsync服務並且實現實時同步
之前一直是在6版本上面搭建rsync服務,在7版本上面折騰了半天。此處總結下
inotify下載地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz

環境說明:

centos7版本上面已經預設安裝了rsync和xinetd服務

[ [email protected] ~ ]# rpm -ql rsync           --在6版本上面執行此命令可以看到xinetd服務配置檔案下面有rsync的子配置檔案

/etc/xinetd.d/rsync

[ [email protected] ~ ]# ls /etc/xinetd.d/sync

/etc/xinetd.d/rsync

[ [email protected]_3 ~ ]# rpm -ql rsync           --在7版本上面執行此命令卻找不到這樣的配置檔案,ls檢視提示沒有此檔案

[ [email protected]_3 ~ ]# ls /etc/xinetd.d/sync

ls: cannot access /etc/xinetd.d/rsync: No such file or directory

————————————————————————————————————————————————————————

實驗環境:兩臺centos7版本的宿主機

  1. 客戶端:172.16.27.25
  2. 服務端:172.16.27.26
具體步驟:
  • 服務端
  • [[email protected] ~]# rpm -aq |grep xinetd
    xinetd-2.3.15-13.el7.x86_64
    [[email protected] ~]# rpm -aq |grep rsync
    rsync-3.0.9-17.el7.x86_64
  • [[email protected] ~]# vim /etc/xinetd.d/rsync    --說明:修改xinetd服務下面的配置檔案,將rsync交給xinetd管理。此配置檔案在7版本預設上面是沒有的,我是直接從6版本複製過來的,也可以手寫下面內容

    # default: off
    # description: The rsync server is a good addition to an ftp server, as it \
    #       allows crc checksumming etc.
    service rsync
    {
            disable              = no      --將原來的yes改為no
            flags                  = IPv6
            socket_type      = stream
            wait                   = no
            user                   = root
            server                = /usr/bin/rsync
            server_args       = --daemon
            log_on_failure  += USERID
    }
  • [[email protected] ~]# vim /etc/rsyncd.conf       --修改配置檔案釋出共享目錄
    [test]
            path = /test                 --本地共享目錄
            auth user = user1      --指定使用者同步
            secrets file = /etc/rsyncd.secrets      --指定儲存使用者密碼檔案
  • [[email protected] ~]# systemctl restart xinetd    --啟動服務
  • [[email protected] ~]# vim /etc/rsyncd.secrets    --建立安全使用者
    user1:123
  • [[email protected] ~]# chmod 600 /etc/rsyncd.secrets    --設定安全使用者檔案的許可權,不能被其他人檢視
  • [[email protected] ~]# mkdir /test     --建立共享目錄
    [[email protected] ~]# touch /test/file{1..10}    --此處為了測試,建立幾個檔案
    [[email protected] ~]# ls /test/
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9
  • 客戶端測試:
  • [[email protected] ~]# rsync -a 172.16.27.26::
    test   
  • [[email protected] date]# ls
    [[email protected] date]# rsync -av [email protected]::test /date
    receiving incremental file list
    ./
    file1
    file10
    file2
    file3
    file4
    file5
    file6
    file7
    file8
    file9
    sent 219 bytes  received 524 bytes  1486.00 bytes/sec
    total size is 0  speedup is 0.00
    [[email protected] date]# ls        --可以看見成功從上面同步過來了。
    file1  file10  file2  file3  file4  file5  file6  file7  file8  file9
  • 通過inotify+rsync架構實現實時同步
  • 環境說明:要求node1主機上面的/node1目錄發生新的建立,刪除,移動,以及檔案屬性資訊改變時,自動同不到node2主機的/node2目錄
  • node1主機: IP  172.16.27.25
    node2主機: IP  172.16.27.26
  • 具體步驟:
  • node1端:
  • [[email protected] tmp]# ls /tmp/inotify-tools-3.14.tar.gz
    /tmp/inotify-tools-3.14.tar.gz
  • [[email protected] tmp]# tar -xf inotify-tools-3.14.tar.gz
    [[email protected] tmp]# cd inotify-tools-3.14/
    [[email protected] inotify-tools-3.14]# ls
    aclocal.m4  ChangeLog     config.h.in  configure     COPYING  INSTALL     libinotifytools  Makefile.am  man      NEWS    src
    AUTHORS     config.guess  config.sub   configure.ac  depcomp  install-sh  ltmain.sh        Makefile.in  missing  README
    [[email protected] ~]# ./configure && make && make install    --安裝軟體
  • [[email protected] ~]# vim /tmp/1.sh
    #!/bin/bash
    /usr/local/bin/inotifywait -mrq -e modify,create,move,delete,attrib /node1 |while read events
            do
            rsync -a --delete /node1 172.16.27.26::test
            echo "`date +'%F %T'` 出現事件 $events" >>/tmp/rsync.log 2>&1
            done
    [[email protected] ~]#mkdir /node1
    [[email protected] ~]# touch /node1/testa{1..5}

  • node2端:
  • [[email protected] ~]# vim /etc/rsyncd.conf
    [test]
            path = /node2/
            read only = false
            uid = root
            gid = root
    [[email protected] ~]# mkdir /node2
    [[email protected] ~]# ls /node2/        --此時檢視,該目錄裡面什麼檔案都沒有
    [[email protected] ~]# systemctl restart xinetd
  • 測試驗證:
    在node1端執行指令碼並且放在後臺執行,並且建立檔案,再看tmp下面是否有建立檔案後腳本執行報的日誌資訊
    [[email protected] ~]# nohup sh /tmp/1.sh &
    [1] 14720
    [[email protected] ~]# nohup: ignoring input and appending output to ‘nohup.out’   --此處直接回車

    [[email protected] ~]# echo haha >>/node1/file1
    [[email protected] ~]# ls /tmp/rsync.log
    /tmp/rsync.log
    [[email protected] ~]# cat /tmp/rsync.log
    2017-10-10 15:55:01 出現事件 /node1/ CREATE file1
    2017-10-10 15:55:01 出現事件 /node1/ MODIFY file1

    在node2端檢查驗證
    [[email protected] ~]# ls /node2/
    file1  testa1  testa2  testa3  testa4  testa5
    [[email protected] ~]# cat /node2/file1
    haha
    ---------測試發現在node1端建立的檔案實時同步過來到node2上面了。
  • 總結:其實在6系統和7系統上面搭建rsync服務是一樣的,只是在7上面改版了,系統預設沒有/etc/xinetd.d/rsync配置檔案,需要自己手動建立。其餘配置完全一樣

相關推薦

CentOS7 Rsync服務搭建-Rsync+Inotify架構實現實時同步

關於centos7版本上面搭建rsync服務並且實現實時同步之前一直是在6版本上面搭建rsync服務,在7版本上面折騰了半天。此處總結下 inotify下載地址:http://github.com/d

20190308 samba服務inotifyrsync實現實時同步、防火墻

times 產生 lib 實現 day 復雜 共享 輸出 編號 Samba服務[root@centos7 ~]#yum install samba[root@centos7 ~]#systemctl start smb[root@centos7 ~]#ss -ntluNet

Centos利用 rsync+inotify實現實時同步

rsync inotify 1.1 inotify介紹inotify是一種強大的、細粒度的、異步的文件系統事件控制機制。linux內核從2.6.13起,加入了inotify支持,通過inotify可以監控文件系統中添加、刪除、修改、移動等各種事件,利用這個內核接口,第三方軟件就可以監控文件系統下文件的

RSYNC04-配置rsync+inotify實現實時同步

cccccc ror 編譯速度 響應 大於 grep 軟件開發 介紹 cdn 1,背景介紹 Linux內核從2.6.13版本開始提供了inotify通知接口,用來監控文件系統的各種變化情況,如文件存取、刪除、移動等。利用這一機制,可以非常方便地實現文件異動告警、

rsync+inotify實現實時同步

rsync inotify 一、前期準備 1、準備兩臺主機,我這裏的系統是rhel7,分別是192.168.4.11和192.168.4.22二、rsync命令的用法:1、基本格式: rsync [選項] 目錄1/ 目錄2/ 註意加斜線和不加斜線的區別,加斜線就是只同步目錄下的文件2、

inotify+rsync實現實時同步並郵件通知

代碼 moni 創建目錄 存在 echo ets selinux 5.0 from 服務器之間文件實時同步,監控文件的變化,發送郵件通知,並實時同步文件。 由於人工同步多臺服務器的文件比較吃力,可以借助這樣一套軟件,自動化的實現這樣的工作。 並且可以事實監控變化發送郵件

rsync+inotify實現實時同步、增量備份

version rev pts 常用 無需 ESS 成功 dex http 主機A:被備份的源主機主機B:備份的目的主機 在linux內核中,默認的inotify機制提供了三個調控參數 [root@fudanwuxi html]# uname -r 3.10.0-69

inotify+rsync實現實時同步(附解決crontab中無法執行python指令碼的問題)

1.準備環境 # 系統支援的話,下面的目錄就會存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait監控目錄狀態變化 /usr/bin/inotif

Rsync服務搭建小結

最近由於業務上的考慮,把內容的點選數、播放數等變化頻換(每日1000W-2000w次)但是對於業務沒有太大實時意義的計數,由實時操作DB變更為只記錄操作日誌,每晚彙總各機器的操作日誌,計算各內容點選與播放的總數一次性更新DB,將DB的操作降低到百萬級別以內了。 這個過程中使

rsync+inotify實現實時同步案例--轉

隨著應用系統規模的不斷擴大,對資料的安全性和可靠性也提出的更好的要求,rsync在高階業務系統中也逐漸暴露出了很多不足,首先,rsync同步資料時,需要掃描所有檔案後進行比對,進行差量傳輸。如果檔案數量達到了百萬甚至千萬量級,掃描所有檔案將是非常耗時的。而且正在發生變化的往往是其中很少的一部分,這是非常低效的

rsync服務搭建

備份 文件的 密碼文件 lock -a 模塊 源文件 path eno rsync服務主要用於不同主機間的文件同步和備份,當然也可以用在同一主機上。 一、實驗環境 rsync server:CentOS7.3 rsync client: CentOS

centos 7 編譯安裝以及配置rsync+inotify 文件實時同步操作記錄

註意 .com 操作記錄 修改 pid 指定 服務 entos 實時同步 準備工作: 服務器A 源文件服務器 服務器B 數據備份服務器 註意:服務器A修改文件 實時同步到 服務器B, 服務器A和B都需要安裝rsync,並且服務器A還需要安裝inotify 一、 安裝rs

Rsync+Inotify遠程實時同步

Rsync Linux Inotify Rsync簡介 rsync是linux系統下的數據鏡像備份工具。使用快速增量備份工具Remote Sync可以遠程同步,支持本地復制,或者與其他SSH、rsync主機同步。官方網站:http://rsync.samba.org/ 開始部署Rsync 1、在服

sersync+rsync實現實時同步備份

sersync+rsync實現實時同步備第一個裏程:下載安裝sersync軟件 先進行軟件下載,把軟件包上傳到系統中 unzip sersync_installdir_64bit.zip cd sersync_installdir_64bit mv sersync /usr/local/ tree 第二個裏

Centos7搭建SVN伺服器並實現自動同步至web目錄

前言: 由於最近跟學長一起合作完成一個小專案,然後我倆比較熟悉的版本控制是SVN,就考慮著在伺服器上搭建一個SVN伺服器。現在在這裡給出簡單的搭建過程。 (其實吧,能用git就儘量用git吧,好處自己百度,有關搭建請參考我的另一篇部落格搭建伺服器上的GIT並

Linux下的sersync和rsync實現實時同步

對於rsync這裡級不做過多的解釋了,主要介紹的是sersync的配置 1、如果電腦沒有安裝sersync服務的話,我們可以在這個地址進行安裝sersync下載地址 2、我們將下載過來的se

rsync+sersync實現實時同步

之前的一篇中記錄了rsync+inotify實現檔案的實時傳輸,礙於inotifywait的bug問題,線上同步網站檔案無法使用,所以再記錄一下sersync的配置,留待使用時檢視。 環境:centos6.8 IP及功能劃分: 172.17.9.151(釋出伺服器)

linux rsync遠程同步+sersync+rsync實現實時同步

保存 error 創建 服務 auth word add 同步時間 emc rsync是什麽 rsync全稱Remote Sync ,遠程同步,是Linux/UNIX系統下的文件同步和數據傳輸工具,數據備份,它采用了“rsync算法”使一個客戶機和遠程文件服務器之間的文

Linux—Centos7.4之搭建Mysql數據庫主從同步、讀寫分離

搭建Mysql主從同步、讀寫分離MySQL主從同步與讀寫分離 目錄第一部分 實驗環境第二部分 配置主從同步第三部分 配置讀寫分離第四部分 測試驗證 第一部分 實驗環境 實驗拓撲圖: 服務器五臺:1)客戶端服務器一臺:IP地址:192.168.80.10(client)需安裝軟件:mysql-bo

canal實戰(一):canal連線kafka實現實時同步mysql資料

前面已經介紹過了canal-kafka的應用。canal-kafka是把kafka作為客戶端,嵌入到canal中,並且在canal基礎上對原始碼進行了修改,以達到特定的實現canal到kafka的傳送。 canal-kafka是阿里雲最近更新的一個新的