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

栏目: 服务器 · 发布时间: 5年前

内容简介:上接前文,前文提到web服务器附件不同步的问题,这里补上文件同步的配置。

上接前文,前文提到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
    exclude = lost+found/
    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
    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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C标准库

C标准库

P. J. Plauger / 卢红星、徐明亮、霍建同 / 人民邮电出版社 / 2009-7 / 79.00元

本书是由世界级C语言专家编写的C标准库经典著作。英文版已经重印十多次,影响了几代程序员。 本书结合C标准的相关部分,精辟地讲述了每一个库函数的使用方法和实现细节,而这正是一个真正的C程序员所必须掌握的。更重要的是,书中给出了实现和测试这些函数的完整源代码,可以让你更深入地学习C语言。不仅如此,本书还讨论了一些即使是最有经验的C程序员通常也不熟悉的知识,比如国际化和独立于区域设置的程序的编写、......一起来看看 《C标准库》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具