下载地址: wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz

wget http://sourceforge.net/projects/inotify-tools/files/inotify-tools/3.13/inotify-tools-3.13.tar.gz/download


服务器

A:ip 192.168.64.113 B:ip 192。168.64.114;


测试目录为 /opt/dhtest 目的在A上创建一个文件可以同时同步到B上;


A服务器上安装rsync和inotif;


1、安装rsync;

# tar zxvf rsync.

#cd rsync

#./configura #make # make install

安装完成 可以在/usr/bin/rsync或在/usr/local/bin/rsync可以看到;

2、安装 inotif,

#tar zxvf inotify.

#cd inotify

# ./configure #make #make install

安装完成 可以在[root@localhost ~]# find /usr/local/bin/inotifywa 看到有这两个文件

inotifywait inotifywatch


B服务器上安装 rsync;


1安装rsync;

# tar zxvf rsync.

#cd rsync

#./configura #make # make install

安装完成 可以在/usr/bin/rsync或在/usr/local/bin/rsync可以看到;


下面进行配置


在B服务器上配置

1启动rsync

#vi /etc/xinetd.d/rsync

把原来的YES改成NO

service rsync

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/local/bin/rsync

server_args = --daemon

log_on_failure += USERID

}

随系统启动RSYNC

#chkconfig rsync on

2、配置/etc/rsyncd.conf(需要手动生成) 必须在etc/下

rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数

#vi /etc/rsyncd.conf

uid = root //运行rsync守护的进程的用户

gid = root //运行RSYNC守护进程的组

use chroot = no//不使用chroot

max connections = 10 // 最大连接数为10

strict modes = yes//是否检查口令文件的权限

pid file = /var/run/rsyncd.pid //pid文件的存放位置

lock file = /var/run/rsync.lock//锁文件的存放位置

log file = /var/log/rsyncd.log//日志记录文件的存放位置


[dhtest]//这里是认证的模块名,在client端需要指定

path=/opt/dhtest///需要做镜像的目录,不可缺少!

comment = 114 de test//这个模块的注释信息

ignore errors//可以忽略一些无关的IO错误

read only = no// 是否只读(yes、no)

list = no //不允许列文件

hosts allow = 192.168.64.113//允许主机

hosts deny = 0.0.0.0/0//禁止主机

auth users = dhtest //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关

secrets file = /opt/dhmm.pass //密码和用户名对比表,密码文件自己生成 格式为:用户名:密码 [root@localhost ~]# cat /opt/dhmm.pass dhtest:artron

###/etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)


3、启动rsync

#/usr/local/bin/rsync --daemon

为了开机自启动 在/etc/rc.local添加 /usr/local/bin/rsync --daemon


A服务器进行配置


编辑脚本如下


#/bin/bash

/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib /opt/dhtest | while read files

do


/usr/local/bin/rsync -ztopg --progress /opt/dhtest/* dhtest@192.168.64.114::dhtest --password-file=/etc/dh.pass


echo "${files} was rsynced" >> /tmp/rsync.log 2>&1


done

完成


其中/etc/dh.pass是密码文件 内容是artron


赋予dh.pass权限 #chmod 600 dh.pass

执行脚本



进行测试