rsync+inotify實現數據同步——單向傳輸

實驗環境:<從A主機推送數據到B主機[B主機可以有多個]>

A主機:10.1.43.102

B主機:10.1.43.103


配置流程:

—rsyncserver—- <B主機上配置>

1.vim /etc/rsyncd.conf(用戶,目錄,模塊,虛擬用戶及密碼文件)

vim /etc/rsyncd.conf
uid = root
gid = root
port = 873 #post rsync使用的端口號  也是默認端口號 www.jbxue.com
hosts allow = 10.1.43.103 #allow hosts ip 應許的ip訪問,也可以設置為ip段
max connections = 200  
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
    
[backup]
path =/var/www/html  #客服端已rsync服務端同步的文件路徑
comment = from 10.1.43.103  #解釋
read only = no
write only = no
list = no
    
auth users =rsync  #配置登陸名稱
secrets file = /etc/rsync.password  #配置用戶名密碼文件

2.創建共享目錄:/test/rsync

mkdri -pv /test/rsync

3、創建密碼文件,文件路徑和文件名參照配置文件里"secrets file"選項的值,然后添加密碼內容

vim /etc/rsync.password
rsync:123456

4、密碼文件的權限600

chmod 600 /etc/rsync.password

5、運行rsync,并且開機啟動

rsync –daemon
echo "rsync –daemon" >> /etc/rc.local

6、如果出錯,查看日志  

tail /var/log/rsyncd.log

——rsyncclient——<A主機上配置>

1、密碼文件

vim /etc/rsync.password
123456   #注意:此處只需要寫服務端虛擬帳號的密碼即可

2、密碼文件的權限600

chmod 600 /etc/rsync.password

3.創建共享目錄:/test/rsync

mkdri -pv /test/rsync

4、安裝inotify-tools軟件包

yum -y install inotify-tools

5、編寫同步腳本

vim /root/bin/rsync.sh
#!/bin/bash
src=/test/rsync   
des=backup       
host="10.1.43.102"  
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y%H:%M' --format '%T%w%f' -e modify,delete,create,attrib \  #此行尚未完結
$src | while read files; do
  for hostip in $host; do
    rsync -avz --delete --progress --password-file=/etc/rsync.password $src rsync@$hostip::$des
  done
  echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
done

6、后臺自動運行,并且開機自動啟動

nohup /bin/bash /root/bin/rsync.sh &
echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.loacl

如果再配置過程中出現如下問題

問題一:

@ERROR: chroot failed

rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:

服務器端的目錄不存在或無權限,創建目錄并修正權限可解決問題

問題二:

@ERROR: auth failed on module backup

rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:

服務器端該模塊(backup)需要驗證用戶名密碼,但客戶端沒有提供正確的用戶名密碼,認證失敗

提供正確的用戶名密碼解決此問題

問題三:

@ERROR: Unknown module ‘backup'

rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:

服務器不存在指定模塊。提供正確的模塊名或在服務器端修改成你要的模塊以解決問題

問題四:

password file must not beother-accessible

continuing without password file

Password:

原因:

這是因為rsyncd.pwdrsyncd.secrets的權限不對,應該設置為600。如:chmod600 rsyncd.pwd

問題五:

rsync: failed to connect to218.107.243.2: No route to host (113)

rsync error: error in socket IO(code 10) at clientserver.c(104) [receiver=2.6.9]

原因:

對方沒開機、防火墻阻擋、通過的網絡上有防火墻阻擋,都有可能。關閉防火墻,其實就是把tcp udp的873端口打開

問題六:

rsync error: error startingclient-server protocol (code 5) at main.c(1524) [Receiver=3.0.7]

原因:

/etc/rsyncd.conf配置文件內容有錯誤。請正確核對配置文件

問題七:

rsync: chown "" failed:Invalid argument (22)

原因:

權限無法復制。去掉同步權限的參數即可。(這種情況多見于Linux向Windows的時候)

 

問題八:

@ERROR: daemon security issue –contact admin

rsync error: error starting client-server protocol (code 5) at main.c(1530)[sender=3.0.6]

原因:

同步的目錄里面有軟連接文件,需要服務器端的/etc/rsyncd.conf打開use chroot = yes。掠過軟連接文件

原創文章,作者:megedugao,如若轉載,請注明出處:http://www.www58058.com/54883

(0)
megedugaomegedugao
上一篇 2016-10-27 16:10
下一篇 2016-10-27 16:49

相關推薦

  • 馬哥教育網絡21期+第八周練習博客

    馬哥教育網絡21期+第八周練習博客 # 1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 集線器:工作于ISO模型的物理層,防止由于距離遠,信號衰減; 網橋:用來連接不同網段,隔離沖突域; 二層交換機:二層交換機一般做為了三層交換機以下,利用設備mac地址進行通信,可以劃分vlan,隔離廣播域; 三層交換機:用于核心數據轉發,不…

    Linux干貨 2016-09-05
  • WORD文檔格式要求與linux學習規劃

    WORD文檔格式要求 一、封面               1、活動名稱(隸書,小初號字,加粗)               2、主辦單位、策劃日期(宋體、3號字) 二、目錄    &nbs…

    Linux干貨 2013-06-20
  • Linux-第一周作業

    1.計算機組成及其功能 計算機主要分為三部分: A、輸入單元:包括鍵盤、鼠標、掃描儀、手寫板、觸摸屏等。 B、中央處理器(CPU):含有算術邏輯、控制、記憶等單元。 C、輸出單元:例如屏幕、打印機等。 我們通過輸入設備(如鼠標與鍵盤)來將一些數據輸入到PC里面,然后再由PC的功能處理成為圖表或文章等信息后,將結果傳輸到輸出設備,如屏幕或打印機上面,這是計算機…

    Linux干貨 2016-07-07
  • DNS

    這里都以我本機的實驗為例 正向解析:就是從主機名到IP的解析過程 先在工作目錄/var/named/創建一個區域數據文件 以zcylinux.io域為例:vim/var/named/zcylinux.io.zone $TTL  600     #設置全局變量TTL的值為600s zcylinux.io.&nb…

    Linux干貨 2017-05-30
  • 日志管理

    rsyslogd的相關介紹,journalctl的相關介紹和日志的轉儲

    2018-02-05
  • 文本處理相關工具

    文本工具       操作系統中,文本的處理這一操作,比如操作一些內容,查看一些內容等等這些東西在linux中都得借助工具來完成對文本的操作。下面來說說對文本處理的工具;  其中:        查看文件內容工具:more、less、cat     &nbsp…

    Linux干貨 2016-08-05
欧美性久久久久