1.原料
rsync和inotify-tools
2.安装
(1)rsync
服务器端安装流程
①下载安装

$wget https://download.samba.org/pub/rsync/src/rsync-3.0.6.tar.gz
$tar -zxvf rsync-3.0.6.tar.gz
$./configure --prefix=/usr/local/rsync
$make
$make install

②配置conf
/usr/local/rsync/rsyncd.conf
uid = root
gid = root
use chroot = yes
strict modes = false
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log
transfer logging = true
log format= “%o [%a] %m (%u) %f %l %b %c”

reverse lookup = no
ignore errors = true
read only = false
hosts allow = 192.168.254.130
hosts deny = 0.0.0.0/0.0.0.0
strict modes = yes
list = false
max connections = 100
timeout = 1800
[www]
path = /data/www/
auth users = root
secrets file = /usr/local/rsync/rsyncd.secrets
③配置密码表(必须设置600权限)
/usr/local/rsync/rsyncd.secrets
root:12345678
④守护进程方式启动命令
/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf
客户端方式安装和配置
①安装rsync inotify-tools(直接apt-get或者yum)
②配置passwd文件(主要注意的这个文件的所属者必须是后面的脚本运行者,并且设置600权限,和服务器不同的是,不需要设置用户:的前缀)
/etc/rsyncd.passwd
12345678
③示例脚本

#!/bin/bash
src=/web_nginx/test
dst=root@192.168.102.109::yii
 
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
        do
                /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.passwd  $src $dst
                echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
        done
exit 0

④脚本配置存在问题
如何忽略?
这个脚本不算完美,并没有用到files对象