博客
关于我
Rsync + Intofy 数据实时同步方案
阅读量:609 次
发布时间:2019-03-12

本文共 1905 字,大约阅读时间需要 6 分钟。

Rsync + Intofy 数据实时同步方案

Rsync 部署

Master节点配置

  • 停止并禁用防火墙:

    systemctl stop firewalldsystemctl disable firewalldsetenforce 0
  • 安装并配置rsync:

    yum -y install rsync
    • 配置rsyncd.conf:

      vim /etc/rsyncd.confuid = rootgid = rootuse chroot = yesaddress = 192.168.0.10port 873log file = /var/log/rsyncd.logpid file = /var/run/rsyncd.pidhosts allow = 192.168.0.0/24[wwwroot]path = /var/www/htmlcomment = Document Root of www.example.comread only = yesdont compress = *.gz *.bz2 *.tgz *.zip *.rar *.zauth users = foxsecrets file = /etc/rsyncd_users.db
    • 创建并设置用户文件:

      echo "fox:123456" > /etc/rsyncd_users.dbchmod 600 /etc/rsyncd_users.db
  • 启动rsync服务:

    rsync --daemonnetstat -natp | grep rsyncmkdir -p /var/www/htmlcd /var/www/htmltouch dog.htmlcat.htmls

Slave节点配置

  • 停止并禁用防火墙:

    systemctl stop firewalldsystemctl disable firewalldsetenforce 0
  • 安装rsync并创建目录:

    yum install -y rsyncmkdir /slavechmod 777 /slave
  • 创建密钥文件并设置权限:

    echo "123456" > /etc/server.passchmod 600 /etc/server.pass
  • 使用rsync同步数据:

    rsync -az --delete --password-file=/etc/server.pass fox@192.168.0.10::wwwroot /slave

Intofy 部署

内核参数优化

  • 修改sysctl配置文件:
    echo "fs.inotify.max_queued_events = 32768                   fs.inotify.max_user_instances = 1024                   fs.inotify.max_user_watches = 1048576" > /etc/sysctl.confsysctl -p

安装Intofy-tools

  • 下载并编译:
    wget -P /opt https://nchc.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gzcd /opttar -zxvf inotify-tools-3.13.tar.gzcd /opt/inotify-tools-3.13./configuremake -j 4make install

编写自动监控同步脚本

  • 创建脚本并赋予权限:
    vim /opt/inotify.sh#!/bin/bashINOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /slave"RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /slave fox@192.168.0.10::wwwroot"# ...
  • 后台运行脚本:
    chmod +x inotify.sh./inotify.sh &

测试

  • 创建文件:

    cd /slavetouch fox.htmlrm -rf dog.htmls
  • 查看同步日志:

    tail -f /var/log/rsyncd.log

报错排查

  • 如果遇到错误:
    @ERROR: auth failed on module wwwroot

    检查用户名和密码是否一致。

转载地址:http://jpwaz.baihongyu.com/

你可能感兴趣的文章
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>
mysql problems
查看>>
mysql replace first,MySQL中处理各种重复的一些方法
查看>>
MySQL replace函数替换字符串语句的用法(mysql字符串替换)
查看>>
mysql replace用法
查看>>
Mysql Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql Timestamp时间隔了8小时
查看>>