inotify+rsync安装配置

6 篇文章 0 订阅
3 篇文章 0 订阅

1.两台机器192.168.1.2,192.168.1.3,想把192.168.1.2的数据同步到192.168.1.3中

2.测试开始,可以先关闭防火墙和内核linux的selinux的防火墙,避免防火墙影响

关闭防火墙,例如centos7,其他系统版本自己查询如何关闭

    $ systemctl stop firewalld.service #停止firewall  
    $ systemctl disable firewalld.service #禁止firewall开机启动  

关闭linux的selinux防火墙

永久性关闭:生效需要重启


    $ vi /etc/selinux/config  
    SELINUX=disabled  

临时性关闭:生效无需重启

  1. $ setenforce 0  


3.安装rsync(两台服务器)

前往rsync官网下载最新版本 http://rsync.samba.org/ftp/rsync/src  找到最新的rsync-*.*.*.tar.gz

    $ tar zxvf rsync-*.*.*.tar.gz  
    $ cd rsync-*.*.*  
    $ ./configure --prefix=/usr/local/rsync  
    $ make && make install  


4.配置rsyncd.conf (192.168.1.3)

    $ vi /etc/rsync.conf  
    #pid文件的存放位置  
    pid file = /var/run/rsync.pid  
    #日志文件位置,启动rsync后自动产生这个文件,无需提前创建  
    log file = /var/log/rsync.log  
    #支持max connections参数的锁文件  
    lock file=/var/run/rsync.lock  
    #用户认证配置文件,里面保存用户名称和密码  
    secrets file = /etc/rsync.pw  
    #rsync启动时欢迎信息页面文件位置  
    motd file = /etc/rsyncd.motd  
    transfer logging = yes  
    log format = %t %a %m %f %b  
    syslog facility = local3  
    #自定义名称  
    [data]  
    #设置需要同步的目录  
    path = /data/test/  
    #模块名称与[data]自定义名称相同  
    comment = data  
    exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/  
    #默认端口  
    port = 873  
    #设置rsync运行权限为root  
    uid = root  
    #设置rsync运行权限为root  
    gid = root  
    #设置超时时间  
    timeout = 600  
    #最大连接数  
    max connections = 200  
    #默认为true,修改为no,增加对目录文件软连接的备份  
    use chroot = no  
    #设置rsync服务端文件为读写权限  
    read only = no  
    #不显示rsync服务端资源列表  
    list = no  
    #允许进行数据同步的客户端IP地址  
    hosts allow = 192.168.1.3  


可以设置多个目录( 192.168.1.3)

    #增加test1目录  
    [test1]  
    path = /data/test1  
    list = yes  
    ignore errors  
    comment = ucweb-file system  
    secrets file = /etc/rsync.pw  
    exclude = blank.png ; spinner.gif ; downsimple.png ; rails.png ; WEB-INF/  

建立密码认证文件( 192.168.1.3)


    $ vi /etc/rsync.pw  
    root:123456  


配置rsyncd.motd文件,开始传送的时候会显示(192.168.1.3


    $ vi /etc/rsyncd.motd  
    ###############################  
    #                             #  
    #        start rsync          #  
    #                             #  
    ###############################  


5.启动rsync
$ /usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf  <span><span></span></span>
<span><span></span></span>

开机启动rsync

    $ echo '/usr/local/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf'>>/etc/rc.d/rc.local 


6.建立密码认证文件(192.168.1.2)


    $ vi /etc/rsync.pw  
    123456  


7.测试开始


$ /usr/local/rsync/bin/rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.3::data --password-file=/etc/rsync.pw  

查看192.168.1.2上是否有同步

8.安装inotify-tools(192.168.1.2)


    $ wget https://codeload.github.com/rvoicilas/inotify-tools/zip/master  
    $ tar zxvf inotify-tools-*.*.tar.gz   
    $ cd inotify-tools-*.*  
    $ ./configure --prefix=/usr/local/inotify  
    $ make && make install  

9.查看是否安装成功

    $ ll /yunwei8/apps/inotify/bin/inotifywa*  

10.新建一个inotify.sh文件同步
    #!/bin/sh  
      
    # get the current path  
    CURPATH=`pwd`  
      
    /usr/local/inotify/bin/inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' \  
    -e close_write /data | while read date time dir file; do  
      
           FILECHANGE=${dir}${file}  
           # convert absolute path to relative  
           FILECHANGEREL=`echo "$FILECHANGE" | sed 's_'$CURPATH'/__'`  
      
           rsync -avH --port=873 --progress --delete /data/test/ root@192.168.1.3::data --password-file=/etc/rsync.pw  
            echo "At ${time} on ${date}, file $FILECHANGE was backed up via rsync"  
    done  


时刻监听文件
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值