博客
关于我
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事务隔离级别:读未提交、读已提交、可重复读和串行
查看>>
webpack css文件处理
查看>>
mysql二进制包安装和遇到的问题
查看>>
MySql二进制日志的应用及恢復
查看>>
mysql互换表中两列数据方法
查看>>
mysql五补充部分:SQL逻辑查询语句执行顺序
查看>>
mysql交互式连接&非交互式连接
查看>>
MySQL什么情况下会导致索引失效
查看>>
Mysql什么时候建索引
查看>>
MySql从入门到精通
查看>>
MYSQL从入门到精通(一)
查看>>
MYSQL从入门到精通(二)
查看>>
mysql以下日期函数正确的_mysql 日期函数
查看>>
mysql以服务方式运行
查看>>
mysql优化--索引原理
查看>>
MySQL优化之BTree索引使用规则
查看>>
MySQL优化之推荐使用规范
查看>>
Webpack Critical CSS 提取与内联教程
查看>>
mysql优化概述(范式.索引.定位慢查询)
查看>>
MySQL优化的一些需要注意的地方
查看>>