日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

rsync + inotify

發布時間:2024/4/19 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 rsync + inotify 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


服務器端配置:


1 服務器10.130.193.178配置
1) 安裝服務器軟件xinetd超級守護進程.調用rsync這個進程.
? # yum -y install xinetd
?
? ? ? ? ? ?# vim /etc/xinetd.d/rsync
? 將 disabled = yes 改為 disabled = no 表示啟用這個進程

2) 給rsync提供配置文件 /etc/rsyncd.conf
??
? # vim /etc/rsyncd.conf
??
? # Global Settings?
?
? uid = nobody 表示啟動rsync這個服務的用戶?
? gid = nobody
? use chroot = no 表示是否鎖定用戶到指定目錄
? max connections = 10 表示最大的并發連接數目
? strict modes = yes 表示開啟嚴格檢查模式
? pid file = /var/run/rsyncd.pid
? log file = /var/log/rsyncd.log

? # Directory Settings

? [mydata] 這個是sync_directory
? path = /mydata/data 這個是定義發布的目錄
? ignore errors = yes 表示如果出現錯誤就忽略繼續復制
? read only = no 表示是否允許推送數據到服務器
? write only = no 表示是否允許從服務器拉取數據
? hosts allow = 10.130.193.0/24 表示允許的IP地址
? hosts deny = * 表示拒絕的IP

# 注意:如果以上的2個參數一起出現,是這樣的,就是先匹配hosts allow 如果匹配成功就通過,如果匹配不成功就匹配hosts deny ,如果hosts deny也沒有匹配成功那么使用默認的規則通過.

? ?list = no
? auth users = username 指定虛擬用戶

? secrets file = /etc/rsyncd.passwd

? uid = root 這個是我們在服務器上操作發布目錄的用戶 如果不寫那么就是nobody這個用戶

? gid = root


3) 提供密碼文件 /etc/rsyncd.passwd這個文件是密文存儲數據的所以文件的權限是600

? # vim /etc/rsyncd./conf
? rsyncduser:123456

? # chmod 600 /etc/rsyncd.conf

4) 啟動服務
service xinetd start
ss -tnl 查看rsync監聽的端口號碼是 tcp:873

2 服務配置 10.130.193.179 同上.

3 客戶端的配置.

1) 安裝inotify-tools工具包

? # tar xvf inotify-tools-3.14.log -C /usr/src
? # cd /usr/src/inotify-tools-3.14
? # ./configure?
? # make && make install

? #ln -sv /usr/local/inotify/include /usr/include/inotify
?
? ?# vim /etc/ld.so.conf.d/inotify
? /usr/local/inotify/lib

? # ldconfig?

? # vim /etc/profile.d/inotify.sh
? export PATH=$PATH:/usr/local/inotify/bin

2) 編寫inotify腳本
? vim inotify.sh
??
? #!/bin/bash

? inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e modify,delete,create,attrib /mydata/data | while read file?
do?
rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.178/mydata && \
rsync -az --progress --delete /mydata/data/ rsync://rsyncduser@10.130.193.179/mydata?

echo ${file} >> /var/log/rsyncd.log 2>&1

done

配置結束
--------------------------------------------------------------

inotifywait 參數:

inptifywait [option] -e events dest_path

-m motifier 表示始終在指定木鄰居監測
-r recursive 表示遞歸監測
-q quiet 表示靜默模式
--timesfmt 表示時間的格式
--format 表示輸出數據的格式

-e 指定監測的事件類型

rsync 的工作模式:
1 本地shell模式?
-a archive 表示歸檔 就是保留文件的原有屬性
--progress 表示顯示傳輸文件的進度
2 遠程shell模式
-a archive 表示歸檔
--progress
-e ssh 使用ssh對數據加密
-z 對數據加密傳輸

3 列表模式

4 服務器模式

-a archive 表示歸檔
--progress?
-z 加密傳輸
--delete 就是如果源目錄參數后面有/ 那么這個參數表示要刪除目標目錄中多余的文件













與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的rsync + inotify的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。