源伺服器 10.13.114.16
目標伺服器 10.13.114.17
目的:實現源伺服器10.13.114.16 /home/admin/www/資料夾檔案實時同步到目標伺服器10.13.114.17 的/home/admin/www目錄下
第一步:源伺服器端安裝rsync
wget -o /etc/yum.repos.d/centos-base.repo
yum -y install vim-enhanced
wget
tar -zxvf rsync-3.0.8.tar.gz
cd rsync-3.0.8
./configure --prefix=/usr/local/rsync --disable-ipv6
make && make install
cd /usr/local/rsync/
mkdir etc
mkdir var
vim /usr/local/rsync/etc/rsyncd.conf
log file = /usr/local/rsync/var/rsyncd.logpid file = /usr/local/rsync/var/rsyncd.pid
lock file = /usr/local/rsync/var/rsyncd.lock
#secrets file = /usr/local/rsync/etc/rsyncd.pas
motd file = /usr/local/rsync/etc/rsyncd.motd
hosts allow = 10.13.114.17/32
list = yes
uid = root
gid = root
use chroot = no
max connections = 30
[www]
path = /home/admin/www
comment = bakup www
read only = no
auth users = admin
vim /usr/local/rsync/etc/rsyncd.motd
welcome這是歡迎詞,可以不設定
在服務端和客戶端都建立admin使用者,用於同步
useradd admin
在源端生成公鑰,拷貝到目標段,實現免密碼登入
ssh-keygen -t rsa
拷貝.ssh/id_rsa.pub到伺服器端的.ssh/authorized_keys檔案中
然後設定許可權為
在目標段執行
#chmod 600 .ssh/authorized_keys
啟動源的rsync服務
rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf
檢視ps -ef |grep rsync
埠為873
第二步:源伺服器端安裝inotify
wget
tar -zxvf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13
./configure --prefix=/usr/local/inotify
make && make install
cd /usr/local/inotify/bin
#!/bin/shsrc=/home/admin/www
[email protected]:/home/admin
/usr/local/inotify/bin/inotifywait -mrq -e modify,delete,create,attrib $ | while read status
do su - admin -c "/usr/bin/rsync -ahqzt --delete $src $dst"
echo "`date +'%y-%m-%d %h:%m:%s'` $ has rsynced" >
>rsync.log
done
啟動monitor.sh
#chmod +x monitor.sh
#./monitor.sh &
可以放到rc.local實現開機啟動
cat "/usr/local/inotify/bin/monitor.sh &" >> /etc/rc.local
然後在源端的/home/admin/www下建立刪除檔案,都會同步到目標端
注釋:/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib $
-m 是保持一直監聽
-r 是遞迴檢視目錄
-q 是列印出事件
-e create,move,delete,modify,attrib 是指 「監聽 建立 移動 刪除 寫入 許可權」 事件
/usr/bin/rsync -ahqzt --delete $src $dst
-a 存檔模式
-h 儲存硬連線
-q 制止非錯誤資訊
-z 壓縮檔案資料在傳輸
-t 維護修改時間
-delete 刪除於多餘檔案
rsync的完整引數說明:
要排除同步某個目錄時,為rsync新增--exculde=pattern引數,注意,路徑是相對路徑,具體檢視man rsync。
要排除某個目錄的事件監聽的處理時,為inotifywait新增--exclude或--excludei引數,具體檢視man inotifywait。
rsync inotify實現實時同步
服務端 一 首先安裝rsync,接著編輯配置檔案,若沒有,自己手動建立也可 rsync xinetd rsync最好是3.0以上版本,演算法更優,速度更快.xinetd 監控管理rsync服務 etc rsyncd.conf uid www gid www use chroot no max con...
rsync inotify實現實時同步
一 rsync基本操作 rsync常用選項 n 測試同步過程,不做實際修改 delete 刪除目標資料夾內多餘的文件 a 歸檔模式,相當於 rlptgod v 顯示詳細操作資訊 z 傳輸過程中啟用壓縮 解壓 用法 rsync 選項 本地目錄1 本地目錄2 rsync 選項 本地目錄1 本地目錄2 r...
rsync inotify 實現實時同步
inotify 這個可以監控檔案系統中的新增,修改,刪除,移動等事件 inotify的特性需要linux核心2.6.13以上的支援 root test1 inotify tools 3.13 uname r 2.6.32 71 el6.i686 支援 還需要看看是否安裝了inotify root t...