rsync inotify實現實時同步

2021-10-02 07:57:39 字數 1788 閱讀 8659

一、rsync基本操作

rsync常用選項:

-n : 測試同步過程,不做實際修改

–delete :刪除目標資料夾內多餘的文件

-a :歸檔模式,相當於-rlptgod

-v :顯示詳細操作資訊

-z :傳輸過程中啟用壓縮/解壓

用法:rsync [選項…] 本地目錄1 本地目錄2

rsync [選項…] 本地目錄1/ 本地目錄2/

rsync -a /shell /test //將目錄1作為目錄2的子目錄

rsync -a /shell/ /test/ //將目錄1下的內容同步到目錄2下

rsync -a --delete /shell/ /test/ 將目錄1下的內容同步到目錄2下,並刪除目錄2下多餘的檔案

二、rsync+ssh同步

用法:rsync [選項…] user@host:遠端目錄/ 本地目錄/ //將遠端目錄下的內容同步到本地目錄下

rsync [選項…] 本地目錄/ user@host:遠端目錄/ //將本地目錄下的內容同步到遠端目錄下

rsync -a [email protected]:/root/shell/ /test/ //將遠端目錄下的內容同步到本地目錄下

rsync -a test/ [email protected]:/root/shell/ //將本地目錄下的內容同步到遠端目錄下

三、inotifywait工具

用法:inotifywait [選項] 目標資料夾

inotifywait常用命令選項:

-m :持續監控(捕獲乙個事件後不退出)

-r :遞迴監控,包括子目錄及檔案

-q : 減少螢幕輸出資訊

-e :指定監控的modify(改變)、move(移動)、create(新建)、delete(刪除)、attrib(修改許可權)等事件類別

安裝inotify-tools軟體包:

1、配置centos6系統 yum源

wget -o /etc/yum.repos.d/centos6.5.repo

wget -o /etc/yum.repos.d/epel.repo

2、執行命令進行安裝

yum -y install inotify-tools

3、測試inotifywait監控

inotifywait -mrq -e modify,move,attrib,delete,create /root/test & //監控/root/test目錄的變化,並置入後台

touch /root/test/test.txt //在目錄/root/test下建立檔案進行測試,觀察螢幕輸出資訊。

四、配置網頁同步(以httpd為例)

1、安裝httpd服務

2、部署ssh免密

ssh-keygen //生成金鑰檔案,一直回車即可

ssh-copy-id [email protected] //將公鑰檔案上傳至目標主機

3、編寫同步指令碼,進行實時同步

vim /root/rsync.sh

#!/bin/bash

dir="/var/www/"

cmd="rsync -az --delete $dir [email protected]:/var/www/"

while inotifywait -rqq -e modify,

move

,create,delete,attrib $dir

do$cmd

done &

rsync inotify實現實時同步

服務端 一 首先安裝rsync,接著編輯配置檔案,若沒有,自己手動建立也可 rsync xinetd rsync最好是3.0以上版本,演算法更優,速度更快.xinetd 監控管理rsync服務 etc rsyncd.conf uid www gid www use chroot no max con...

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 ...