博客
关于我
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 中随机抽样:order by rand limit 的替代方案
查看>>
MySQL 为什么需要两阶段提交?
查看>>
mysql 为某个字段的值加前缀、去掉前缀
查看>>
mysql 主从
查看>>
mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
查看>>
mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
查看>>
mysql 主从关系切换
查看>>
MYSQL 主从同步文档的大坑
查看>>
mysql 主键重复则覆盖_数据库主键不能重复
查看>>
Mysql 事务知识点与优化建议
查看>>
Mysql 优化 or
查看>>
mysql 优化器 key_mysql – 选择*和查询优化器
查看>>
MySQL 优化:Explain 执行计划详解
查看>>
Mysql 会导致锁表的语法
查看>>
mysql 使用sql文件恢复数据库
查看>>
mysql 修改默认字符集为utf8
查看>>
Mysql 共享锁
查看>>
MySQL 内核深度优化
查看>>
mysql 内连接、自然连接、外连接的区别
查看>>
mysql 写入慢优化
查看>>