搭建rsync实时同步

1、本实验基于centos6.5服务器做的

   cat cat /etc/redhat-release 

 

2、在配置环境之前需要先将服务器自带的rsync卸除

    yum -y remove rsync*

     

3、清除以后,安装wget服务

        

  因为之前安装过所以显示已经安装

  4、使用命令下载rsync和inotify

        wget --no-check-certificate https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

  wget   http://rpmfind.net/linux/dag/redhat/el6/en/x86_64/extras/RPMS/rsync-3.0.9-2.el6.rfx.x86_64.rpm

5、在master上添加两个文件

        添加密码认证文件 

       (1)、在/etc/slave.pass

                     echo "123465" > /etc/slave.pass

           给文件是给inotify脚本认证用的

           (2)、在 /usr/local/inotify/

                     echo "123465" >/usr/local/inotify/slave.pass

             将两个文件加上权限

               chmod 600  /etc/slave.pass

    chmod 600   /usr/local/inotify/slave.pass  

                 

              

6、在slave服务区上配置如下:

         在客户端设置用户和密码:

          

        配置文件修改如下:

            

uid = root  #守护进程的用户权限
gid = root   
port = 873  #设置端口
#address = 192.168.80.129 #本机IP地址
use chroot = yes 
read only = no    #no允许客户端上传文件 #yes只读
write only = no  #允许写权限  no/yes  #yes是禁止
#list = yes  #是否提供资源列表
hosts allow=192.168.80.129  #允许IP地址登录
#hosts deny=*   #禁止IP地址登录
max  connections = 5   #开启最大连接数

#motd file = /etc/rsyncd.motd #模块
pid file = /var/run/rsyncd.pid  #服务的进程号存放位置
log file = /var/log/rsyncd.log   #服务的日志存放位置
lock file = /var/run/rsync.lock  #服务锁的存放位置
#transfer logging = yes
#log format = %t%a%m%f%b
#syslog facility = local3
#timeout = 300

[test1]  #要同步的模块名
path = /backup  要同步的目录
list = yes
ignore errors
auth users = web  #认证用户
secrets file = /etc/rsyncd.secrets   #存放用户和密码的配置文件
#comment = linux  #随意定义的一个  

  

7、在master上配置inotify服务

               tar xf inotify-tools-3.13.tar.gz

        

         cd inotify-tools-3.13

          检测,编译,安装

             

              安装成功后截图

                

                 

8、查看目录是否存在!!!

     

9、编写脚本inotify脚本!!

 1 #!/bin/bash
 2 client=192.168.80.130
 3 src=/backup/
 4 dest=test1
 5 user=root
 6 /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d%m%y%H:%M' --format '%T%w%f%e' -e modify,delete,create,move,attrib $src | while read files
 7 do
 8     /usr/bin/rsync -vzrtopgq --delete --progress --password-file=/usr/local/inotify/slave.pass  $src $user@$client::$dest
 9     echo "${files} web is ok" >> /tmp/rsyncd.log 2>&1
10 done

10、对脚本授执行权限;

         chmod +x   rsync.sh

11、最后执行结果

        

                

              

猜你喜欢

转载自www.cnblogs.com/yylyu/p/10252810.html