服務端:
一、首先安裝rsync,接著編輯配置檔案,若沒有,自己手動建立也可
rsync、xinetd (rsync最好是3.0以上版本,演算法更優,速度更快.xinetd 監控管理rsync服務)
/etc/rsyncd.conf
uid = www
gid = www
use chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[web]
path = /var/www/html/
ignore errors
read only = no
list = no
hosts allow = 192.168.72.0/24
auth users = rsync
secrets file = /etc/rsyncd.password
編輯 /etc/xinetd.d/rsync 配置(若沒有可以自己手動寫,格式要對,否則服務起不來)
cat /etc/xinetd.d/rsync
service rsync
把yes 改為 no
useradd -r rsync (配置檔案中指定的使用者,若沒有的話,手動新增乙個系統使用者即可)
systemctl restart xinetd.service
檢視埠是否被啟動(預設873)
lsof -i:873
command pid user fd type device size/off node name
xinetd 6830 root 5u ipv6 53674 0t0 tcp *:rsync (listen)
二、修改許可權
建立使用者認證檔案 (自己手動建立)
echo "rsync:password" > /etc/rsyncd.password
修改認證檔案許可權,安全起見
chmod 600 /etc/rsyncd.password
客戶端:
這裡只需要密碼即可,不需要使用者,免得要同步時,還要進行手動互動,許可權一樣為600
echo "password" > /etc/rsyncd.password
chmod 600 /etc/rsyncd.password
執行命令
三、服務端安裝inotify
tar -xvf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13
./configure
make -j $cpu
make install
修改核心引數
sysctl -a | grep inotify
fs.inotify.max_queued_events = 16384 表示監控事件佇列
fs.inotify.max_user_instances = 128 表示最多監控例項數
fs.inotify.max_user_watches = 900000 表示每個例項最多監控檔案數
sysctl -a | grep inotify >> /etc/sysctl.conf 寫進系統檔案中
sysctl -p 重新讀取配置
inotify常用引數及配置
inotifywait -h
-e 用來指定要監控哪些事件
這些事件包括:create建立,move移動,delete刪除,modify修改檔案內容,attrib屬性更改。
-m 表示持續監控
-r 表示遞迴整個目錄
-q 表示簡化輸出資訊
inotifywait -mrq -e create,move,delete,modify /path/filename 回車後會卡著不動,然後在另乙個終端給/path/filename目錄下讀,寫,改,刪的動作時,便會觸發它的機制
寫個指令碼來讓它監控到動作
chmod 600 /etc/rsyncd.shadow(必須是600或更小許可權,否則會報錯)
error: password file must not be other-accessible
客戶端配置rsync
useradd -r www 同步檔案擁有人使用者
useradd -r rsync 認證使用者
echo "rsync:rsync-passwd" > /etc/rsync.pass 使用者、密碼
cat /etc/rsyncd.password 密碼認證檔案 rsync命令同時時使用
rsync:rsync-passwd
mkdir /var/www/html/www.rsync-server.com -p 建立同步服務端給客戶端同步的目錄
rsync配置
cat /etc/rsyncd.conf
uid = www
gid = www
use chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
[rsync-client]
path = /var/www/html/www.rsync-server.com
ignore errors
read only = no
list = no
hosts allow = 192.168.72.0/24
auth users = rsync
secrets file = /etc/rsyncd.password
xinetd 配置
cat /etc/xinetd.d/rsync
service rsync
systemctl restart xinetd
cat /etc/rsyncd.shadow
rsync-passwd
檢視埠啟用狀態
lsof -i:873
command pid user fd type device size/off node name
xinetd 6469 root 5u ipv6 52078 0t0 tcp *:rsync (listen)
服務端執行指令碼
nohup ./rsync+inotify.sh & 並在/var/www/html/www.rsync-server.com/目錄中隨意建立,修改或刪除檔案,在客戶端檢視時,也會隨之自動與服務端一樣建立,修改或刪除檔案
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...
rsync inotify實現實時單向同步
源伺服器 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 ...