博客
关于我
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 里对root及普通用户赋权及更改密码的一些命令
查看>>
Mysql 重置自增列的开始序号
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-group_concat
查看>>
MySQL-【4】基本操作
查看>>
Mysql-丢失更新
查看>>
Mysql-事务阻塞
查看>>
Mysql-存储引擎
查看>>
mysql-开启慢查询&所有操作记录日志
查看>>
MySQL-数据目录
查看>>
MySQL-数据页的结构
查看>>
MySQL-架构篇
查看>>
MySQL-索引的分类(聚簇索引、二级索引、联合索引)
查看>>
Mysql-触发器及创建触发器失败原因
查看>>
MySQL-连接
查看>>
mysql-递归查询(二)
查看>>
MySQL5.1安装
查看>>
mysql5.5和5.6版本间的坑
查看>>
mysql5.5最简安装教程
查看>>