上接前文,前文提到web服务器附件不同步的问题,这里补上文件同步的配置。因为是做相互同步,所以下面的操作在两台服务器上都要执行。

  • 安装同步软件(执行:源服务器和目标服务器)

    # 安装同步服务所需的软件
    yum -y install rsync
  • 配置密码本(执行:源服务器和目标服务器)

    mkdir -p /etc/rsyncfg/
    # 注意:下面的两个SyncPwd必须一致
    echo 'SyncName:SyncPwd' > /etc/rsyncfg/server.pwd
    echo 'SyncPwd' > /etc/rsyncfg/client.pwd
    # 密码文件配置权限
    chmod 600 /etc/rsyncfg/server.pwd
    chmod 600 /etc/rsyncfg/client.pwd
  • 配置防火墙端口(执行:源服务器)

    # 开启防火墙端口
    firewall-cmd --zone=public --add-port=873/tcp --permanent
    firewall-cmd --reload
  • 配置同步软件(执行:源服务器)

    # 编辑配置文件
    vim /etc/rsyncd.conf# 配置文件内容
    uid = root
    gid = root
    use chroot = yes
    max connections = 4
    transfer logging = yes
    timeout = 900
    ignore nonreadable = yes
    dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2[uploads]
    path = /home/wwwroot/PublishPath/uploads
    comment = Host:192.168.6.100 uploads files
    # 排除目录和文件,可以为各个模块单独配置此规则(必须是相对路径)
    exclude = vendor .env
    ignore errors
    read only = yes
    write only = no
    list = no
    auth users = syncer
    secrets file = /etc/rsyncfg/server.pwd
    hosts allow = 192.168.6.110
  • 重启服务(执行:源服务器)

    service rsyncd restart && service rsyncd status
  • 执行同步操作(执行:目标服务器)

    echo '' > /etc/rsyncfg/sync.log
    echo 'rsync -auv --password-file=/etc/rsyncfg/client.pwd SyncName@192.168.6.100::uploads /home/wwwroot/PublishPath/uploads/' > /etc/rsyncfg/sync.sh
    chmod +x /etc/rsyncfg/sync.sh
    cp /etc/rsyncfg/sync.sh /usr/sbin/
  • 配置计划任务(执行:目标服务器)

    crontab -e
    # 添加任务
    # * * * * * /etc/rsyncfg/sync.sh # 取消前面的注释即可# 重启定时任务服务
    service crond restart && service crond status
  • 问题汇总

    • ERROR: auth failed on module XXX

      @ERROR: auth failed on module XXX
      rsync error: error starting client-server protocol (code 5) at main.c(xxx) [Receiver=x.x.x]1、密码输入错误:
      请再次确认你登录用户的密码无误
      2、secrets file格式错误:
      secrets file的文件格式是  upload:123456
      表示upload用户的rsync密码是123456
      3、配置文件写错:
      最坑爹的一个,看看自己模块配置下面的auth users、secrets file有没写错
      4、secrets file权限问题
      服务端的secrets file权限必须是600,
      可以使用chmod 600 /home/user/test/rsync/etc/test.pass
      5、secrets file文件拥有者与rsync运行者
      服务端rsync服务是以什么用户运行,则必须保证secrets file文件拥有者必须是同一个
      假设root运行rsync --daemon,则secrets file的owner也必须是root
      6、如果是以--password-file=file的方式附带密码
      确保客户端密码文件格式无误,与服务端的密码文件不同,
      客户端的不用加上用户名,即直接是  123456
    • rsync: failed to connect to X.X.X.X Connection timed out (110)

      rsync: failed to connect to 192.168.6.100 (192.168.6.100): Connection timed out (110)
      rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]端口不通,开启防火墙的873端口:
      firewall-cmd --zone=public --add-port=873/tcp --permanent
      firewall-cmd --reload
    • ERROR: password file must not be other-accessible

      ERROR: password file must not be other-accessible
      rsync error: syntax or usage error (code 1) at authenticate.c(196) [Receiver=3.1.2]密码本权限不对:
      chmod 600 /etc/rsyncfg/server.pwd
      chmod 600 /etc/rsyncfg/client.pwd

LNMP+HAProxy+Keepalived负载均衡(五)- 通过rsyncd实现文件的相互同步相关推荐

  1. saltstack实现haproxy+keepalived负载均衡+高可用(二)

    一键部署haproxy+keepalived实现负载均衡+高可用 实验环境: !!!!    特别注意: www.westos.org为test1的minion名字 test1: 172.25.1.1 ...

  2. 架构测试:HAproxy实现负载均衡,前端为nginx+php,数据库实现读写分离和高可用...

    环境: • 202.106.0.6: as client • 202.106.0.17:as firewall • 202.106.0.147: as powerDNS • 192.168.205.2 ...

  3. RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群

    RabbitMQ + 镜像队列 + HAProxy 实现负载均衡的集群 一.集群管理(RabbitMQ扩容) 1. 环境介绍 hostname ip mq1 192.168.80.16 mq2 192 ...

  4. Nginx+keepalived负载均衡高可用篇第③版

    Nginx+keepalived负载均衡高可用篇第③版 对付中.小型企业,假如没有资金去购买昂贵的四/七层负载均衡交换机,那么Nginx是不错的七层负载均衡选择,并且可以通过Nginx + Keepa ...

  5. 架构师课程之-haproxy专业级负载均衡软件权威讲解

    老男孩培训顶级架构师课程[企业场景haproxy专业负载均衡架构方案]教学大纲 2014/4/12日激情开讲! 伙伴们,既然选择了远方,就只顾风雨兼程! 老男孩老师已经做好了自断筋脉,把全部功力都传给 ...

  6. HAProxy 的负载均衡服务器,Redis 的缓存服务器

    问答社区网络 StackExchange 由 100 多个网站构成,其中包括了 Alexa 排名第 54 的 StackOverflow.StackExchang 有 400 万用户,每月 5.6 亿 ...

  7. Java代码实现负载均衡五种算法

    前言: 负载均衡是为了解决并发情况下,多个请求访问,把请求通过提前约定好的规则转发给各个server.其中有好几个种经典的算法.在用java代码编写这几种算法之前,先来了解一下负载均衡这个概念. 1. ...

  8. lvs,haproxy实现负载均衡

    lvs,haproxy实现负载均衡 转载于:https://www.cnblogs.com/panxuejun/p/6245632.html

  9. Haproxy实现负载均衡及相关配置(添加日志、设定自动刷新时间、控制访问、动静分离、读写分离)

    1.HAProxy简介 (1)HAProxy 是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProx ...

最新文章

  1. innerHTML与innerText
  2. 嗯?time命令Linux time // 对比印象中的time()函数
  3. HALCON示例程序board.hdev检测电路板焊锡有无程序剖析
  4. golang log日志
  5. 具有预先训练模型的AI人脸识别
  6. [Perl系列二-实战] 1. Perl 读取代码的行数
  7. 上拉加载_如何用Vue + Mint UI实现上拉加载更多
  8. 1093 字符串A+B (20 point(s)) - PAT乙级真题
  9. 基于Ajax的模糊查询输入控件(补充)
  10. 51. magento 手动创建订单
  11. mybatis--关于接口参数注解的几个小问题
  12. 读书笔记3|使用Python,networkx对卡勒德胡赛尼三部曲之——《群山回唱》人物关系图谱绘制
  13. Linux下的打包(tar)、压缩(gzip / bzip2)
  14. 王欣复出后的第一款产品
  15. 蓝屏代码: DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS bootsafe64.sys
  16. 用C语言程序实现两个字符串的连接
  17. Zigbee系列 学习笔记五(信道选择)
  18. Easy EDA #学习笔记09# | ESP32 一键下载电路
  19. dlink平台上面flink-connect-kudu开发
  20. 基于FTP网盘系统设计

热门文章

  1. 参数嗅探(Parameter Sniffing)(1/2)
  2. 计算机学习路线推荐(初稿)
  3. 第十节 javascript之第四节 函数
  4. DDoS功击的判定方法和防护措施
  5. 项目总结一:情感分类项目(emojify)
  6. 自己来实现一套IOC注解框架
  7. Swift:带有私有设置方法的公有属性
  8. BigDecimal类的常用算法
  9. 怎么样写一个 node.js模块以及NPM Package
  10. MIDP应用程序的属性