• [高清组图]环广西赛:参赛车队赛前适应训练 2018-08-31
  • [高清组图]特谢拉复出吴曦失单刀 苏宁0-0平斯威 2018-08-31
  • [高清组图]潜水偶遇座头鲸 亲密互动玩起“水中击掌” 2018-08-31
  • [高清组图]法拉利拍定妆照 维特尔KIMI准备好了 2018-08-31
  • [高清组图]毛剑卿伤退莫雷诺捅射 申花1-0一方 2018-08-31
  • [高清组图]比埃拉双响巴坎布建功 国安5-1富力 2018-08-31
  • [高清组图]武磊世界波胡尔克点射 上港2-0胜申花 2018-08-31
  • [高清组图]武磊2球吕文君建功 上港3-1富力 2018-08-31
  • [高清组图]欧超杯-科斯塔2球 皇马加时赛2-4马竞 2018-08-31
  • [高清组图]格里芬赤膊骑行 休赛期享受二人世界 2018-08-31
  • [视频]【深化改革 重在实效】精准扶贫 四川彝区要拔掉“穷根” 2018-08-31
  • [视频]【深化改革 重在实效】破藩篱促合力 体制创新粘合“两张皮” 2018-08-31
  • [视频]【深化改革 重在实效】激发活力 实现市场准入全程便利化 2018-08-31
  • [视频]【深化改革 重在实效】打通简政放权的“最后一公里” 2018-08-31
  • [视频]【深化改革 重在实效】广东:户籍改革为外来工打开一扇门 2018-08-31
  • 手机版
    你好,游客 登录 注册 搜索
    背景:
    阅读新闻

    rsync+inotify实现远程实时同步

    [日期:2018-08-13] 来源:Linux社区  作者:Linux [字体: ]

    奥门新萄京官方正版 www.arianalance.com rsync介绍

    rsync,英文全称是remote synchronize,是一款实现远程同步功能的免费软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件。甚至还可以实现只同步一个文件里有变化的内容部分,所以可以实现快速的同步备份数据。同时,rsync还可以实现同步本地数据、删除文件和目录的功能。

    inotify介绍

    Inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。您还可以跟踪活动的源头和目标等细节。

    rsync+notify实现自动同步

    如果要实现定时同步数据,可以在客户端将rsync加入定时任务,但是定时任务的同步时间粒度并不能达到实时同步的要求。在Linux kernel 2.6.13后提供了inotify文件系统监控机制。通过rsync+inotify组合可以实现实时同步。

    实验要求:

    源服务器:192.168.177.132(rsync,httpd)

    发起端:192.168.177.132(rsync,httpd,inotify-tools)

    源服务器

    # rpm -q rsync  //查看rsync有没有安装
    # vim /etc/rsyncd.conf  //rsync的配置文件

     uid = nobody
     gid = nobody
     use chroot = yes
     address = 192.168.177.132
     port 873
     log file = /var/log/rsyncd.log
     pid file = /var/run/rsyncd.pid
     hosts allow = 192.168.177.0/24

     [wwwroot]
     path = /var/www/html
     comment = www.kgc.cn
     read only = yes
     dont compress  = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
     auth users = backuper
     secrets file = /etc/rsyncd_users.db
    # vim /etc/rsyncd_users.db
      backuper:abc123  //账号跟密码的格式
    # chmod 600 /etc/rsyncd_users.db
    # yum install httpd -y  //安装web服务
    # rsync --daemon  //启动rsync服务
    # systemctl stop firewalld.service  //关闭防火墙
    # setenforce 0  //增强性安全功能
    # chmod 777 /var/www/html/
    # cd /var/www/html
    # echo "this is test" > 123.txt

    发起端

    # systemctl stop firewalld.service
    # setenforce 0  //必须先关闭防火墙
    交互,输入的是源服务器的地址
    # rsync -avz backuper@192.168.177.132::wwwroot /opt/ 
    免交互,无需输入密码
    # vim /etc/server.pass
    # chmod 600 /etc/server.pass
    # rsync -az --delete --password-file=/etc/server.pass backuper@192.168.177.132::wwwroot /opt

    rsync+inotify自动同步

    inotify装在发起端

    rsync在源服务器上

    源服务器:
    # vim /etc/rsyncd.conf
      read only = no
    # pkill -9 rsync
    # cd /var/run/
    # rm -rf rsyncd.pid //删除pid进程
    # rsync --daemon  //重启服务
    发起端:
    # chmod 777 /var/www/html/
    # tar zxvf inotify-tools-3.14.tar.gz -C /opt //解压
    # cd inotify-tools-3.14/
      ./configure
    # yum install gcc gcc-c++ -y  //安装编译环境
    # make && make install
    # vim /etc/sysctl.conf  //进行优化
    fs.inotify.max_queued_events = 16384
    fs.inotify.max_user_instances = 1024
    fs.inotify.max_user_watches = 1048576
    # sysctl -p  //立即生效
    # inotifywait -mrq -e modify,create,move,delete /var/www/html/  //对站点进行监控
    # vim /opt/inotify.sh  //编写能同步的脚本
    #!/bin/bash
    INOTIFY_CMD="inotifywait -mrq -e modify,create,attrib,move,delete /var/www/html/"
    RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /var/www/html/ backuper@192.168.177.132::wwwroot/"
    $INOTIFY_CMD | while read DIRECTORY EVENT FILE
    do
        if [ $(pgrep rsync | wc -l) -le 0 ] ; then
            $RSYNC_CMD
        fi
    done
    # chmod +x inotify.sh
    # ./inotify.sh

    CentOS 6.5 rsync+inotify实现数据实时同步备份 http://www.arianalance.com/Linux/2016-11/137655.htm
    rsync+inotify实现数据的实时同步 http://www.arianalance.com/Linux/2017-01/139778.htm
    rsync+inotify实现服务器之间文件实时同步详解  http://www.arianalance.com/Linux/2016-11/137659.htm
    Rsync结合Inotify 实时同步配置  http://www.arianalance.com/Linux/2017-02/140877.htm
    RSync实现数据备份  http://www.arianalance.com/Linux/2017-06/144913.htm
    inotify+rsync实现数据实时同步  http://www.arianalance.com/Linux/2017-10/147901.htm
    rsync+inotify实现数据的实时备份  http://www.arianalance.com/Linux/2016-11/137630.htm
    rsync+inotify实现数据自动同步  http://www.arianalance.com/Linux/2017-03/141717.htm
    使用rsync实现数据实时同步备份  http://www.arianalance.com/Linux/2017-05/143462.htm
    unison+inotify实现数据实时双向同步  http://www.arianalance.com/Linux/2018-01/150468.htm

    Linux公社的RSS地址:http://www.arianalance.com/rssFeed.aspx

    本文永久更新链接地址http://www.arianalance.com/Linux/2018-08/153483.htm

    linux
    本文评论   查看全部评论 (0)
    表情: 表情 姓名: 字数

           

    评论声明
    • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
    • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
    • 本站管理人员有权保留或删除其管辖留言中的任意内容
    • 本站有权在网站内转载或引用您的评论
    • 参与本评论即表明您已经阅读并接受上述条款