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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

centos6 rsync+inotify 数据同步

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

一 前戲
#檢測rsync是否已安裝
rpm -qa rsync
#如未按裝,執行yum安裝
yum install -y rsync
#新建用戶和目錄并授權
useradd -M -s /sbin/nologin? rsync
mkdir /bakcup
chown -R rsync.rsync /bakcup/

?

?

二 服務端配置
#打開配置文件,填入以下內容
vi /etc/rsyncd.conf
===================================
#rsyncd.conf_______________start
#指定用戶
uid = rsync
gid = rsync
#相當于黑洞 出錯定位
use chroot = no
#有多少個客戶端同時傳文件
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 = /backup
#表示出現錯誤忽略錯誤
ignore errors
#表示網絡權限可寫(還需要本地文件權限配合)
read only = false
#這里設置IP或讓不讓同步
list = false
#指定允許的網段
hosts allow = 192.168.1.0/24
#拒絕鏈接的地址,一下表示沒有拒絕的鏈接
hosts deny = 0.0.0.0/32
#虛擬用戶
auth users = rsync_backup
#虛擬用戶的密碼文件
secrets file = /etc/rsync.password
#rsync_config_______________end
=================================================
#設置訪問密碼文件
echo "rsync_backup:younger" >/etc/rsync.password
#為密碼文件設置安全權限
chmod 600 /etc/rsync.password
#啟動守護進程模式
rsync --daemon

#添加開機自啟動

echo 'rsync --daemon' >> /etc/rc.local

?

?

三 客戶端配置
#檢測rsync是否已安裝
rpm -qa rsync
#如未按裝,執行yum安裝
yum install -y rsync
echo "younger" >/etc/rsync.password
#為密碼文件設置安全權限
chmod 600 /etc/rsync.password

#添加EPRL源
wget -O /etc/yum.repos.d/epel.repo?http://mirrors.aliyun.com/repo/epel-6.repo
#安裝
yum install inotify-tools -y
#編輯時時監控腳本
vi inotify.sh
===============================================
#!/bin/bash
host=192.168.1.160? #rsync服務端的ip地址
src=/data???????????? #本地監控的目錄
dst=backup??????????? #rsync服務的模塊名
user=rsync_backup???? #rsync服務的虛擬用戶
rsync_passfile=/etc/rsync.password?? #本地調用rsync服務的密碼文件
inotify_home=/usr/?????????? #inotify的安裝目錄
if [ ! -e "$src" ] \
|| [ ! -e "${rsync_passfile}" ] \
|| [ ! -e "${inotify_home}/bin/inotifywait" ] \
|| [ ! -e "/usr/bin/rsync" ];
then
echo "Check File and Directory"
exit 9
fi
${inotify_home}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e close_write,delete,create,attrib $src \
| while read file
do
#? rsync -avzP --delete --timeout=100 --password-file=${rsync_passfile} $src?$user@$host::$dst?>/dev/null 2>&1
cd $src && rsync -aruz -R --delete ./? --timeout=100?$user@$host::$dst?--password-file=${rsync_passfile} >/dev/null 2>&1
done
exit 0
===================================================================================

?

四 測試
#后臺執行時時監控腳本
sh inotify.sh &
#在本地/data目錄新建文件
mkdir {1..99}

#在服務端/backup下查看同步狀態

備注:如若不成功可能出現問題的地方
1 rsyncd.conf? 沒有d
2 rsync.password 權限非600
3 rsync.password 服務端保存用戶名密碼???
4 rsync.password 客戶端只保存密碼
5 目錄的路徑名稱和允許的IP權限
6 防火墻
come on 努力吧

?

?

#網友優化每秒200個文件并發,數據同步幾乎無延遲(待測)
[root@nfs-server scripts]# echo "50000000" >/proc/sys/fs/inotify/max_user_watches?
[root@nfs-server scripts]# echo "50000000" >/proc/sys/fs/inotify/max_queued_events
















本文轉自younger00851CTO博客,原文鏈接:?http://blog.51cto.com/younger008/1905439,如需轉載請自行聯系原作者



總結

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

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