Rsync ERROR: auth failed on module解决方法

 更新时间:2013年09月16日 15:43:07   作者:  
今天在两台服务器同步备份在用户权限上纠结了很多,主要关于这个问题网上的配置方法不一,源自rsync版本不一致,这里简单总结下,方便需要的朋友
示意图:


Rsync 版本

[root@mail video]# rsync –version
rsync version 3.0.6 protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: rsync.samba.org
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, no symtimes

rsync comes with ABSOLUTELY NO WARRANTY. This is free software, and you
are welcome to redistribute it under certain conditions. See the GNU
General Public Licence for details.

服务器同步任务需求

服务器A与服务器B同步备份,这里只说明服务器A同步到服务器B,服务器B还原到服务器A。
考虑安全因素,使用普通用户进行同步。
使用cronjob,定时同步。

错误提示

错误发生在rsync 3.0.6版本,64位 CentOS5.5 系统。

首页这篇文章主要解决的错误是以下:

复制代码 代码如下:

@ERROR: auth failed on module ***
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]


*** 是你/etc/rsyncd.conf 中配置的模块,我这里用

复制代码 代码如下:

password file must not be other-accessible
continuing without password file
Password:
@ERROR: auth failed on module ***
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]

Rsync 配置

#vi /etc/rsyncd.conf

复制代码 代码如下:

uid = nobody
gid = nobody
max connections = 4
read only = true
#hosts allow = 202.207.177.180
hosts allow = *
transfer logging = true
log format = %h %o %f %l %b
log file = /var/log/rsyncd.log
slp refresh = 300
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock

[web]
path = /home/admin/public_html
comment = Mirror to Hk server
read only = true
list = false
auth users = lixiphp

[test]
path = /home/admin/domains/test
read only = false
auth users = lixiphp
secrets file = /etc/rsyncd.secrets

配置普通用户密码

复制代码 代码如下:
[root@mail video]# vi /etc/rsyncd.secrets

格式为: username:password

复制代码 代码如下:
rsync_user:rsyncofpass

设置权限为只读:

复制代码 代码如下:
chmod 600 /etc/rsyncd.secrets

首次启动rsync

复制代码 代码如下:
rsync –daemon –config=/etc/rsyncd.conf

如果提示

复制代码 代码如下:
failed to create pid file /var/run/rsyncd.pid: File exists

使用指令

rm -rf /var/run/rsyncd.pid

重启已经在运行的rsync

复制代码 代码如下:

[root@mail video]# ps -ef | grep rsync
root     27284     1  0 10:26 ?        00:00:00 rsync –daemon –config=/etc/rsyncd.conf
root     30516 29986  0 18:35 pts/3    00:00:00 grep rsync
[root@mail video]# kill -9 27284
[root@mail video]# rsync –daemon –config=/etc/rsyncd.conf

这样服务器A配置成功!

服务器B配置

一般错误都会发生在服务器B,注意这部分的讲解!
通过CentOS yum install rsync,安装rsync服务。
在rsync安装之后,运行以下指令同步备份:

复制代码 代码如下:
rsync -vzrtopg –progress –delete –password-file=/home/admin/admin_backups/password.rsync rsync://lixiphp@203.171.237.245/test /home/admin/admin_backups/test



地址rsync://lixiphp@203.171.237.245/test,lixiphp为服务器A用户,203.171.237.245服务器A IP地址或者域名 test为服务器A配置模块

密码存放在/home/admin/admin_backups/password.rsync,这里存放位置,可自由安排。

password.rsync内容格式为: password

复制代码 代码如下:
rsyncofpass


设置权限为只读:

复制代码 代码如下:
chmod 600 /home/admin/admin_backups/password.rsync


解决错误

用户密码错误

复制代码 代码如下:

@ERROR: auth failed on module test
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]



检查服务器A存储密码文件和服务器B密码文件。

服务器A密码文件 /etc/rsyncd.secrets 格式为: username:password
服务器B密码文件 password.rsync 格式为:password
文件权限错误

复制代码 代码如下:

password file must not be other-accessible
continuing without password file
Password:
@ERROR: auth failed on module ***
rsync error: error starting client-server protocol (code 5) at main.c(1503) [receiver=3.0.6]


检查服务器A存储密码文件和服务器B密码文件。

服务器A密码文件 /etc/rsyncd.secrets 权限为600: chmod 600 /etc/rsyncd.secrets
服务器B密码文件 password.rsync 权限为600:chmod 600 password.rsync

定时任务

复制代码 代码如下:
[root@hk admin_backups]# vi backup.sh



内容如下:

复制代码 代码如下:

#/bin/sh
rsync -vzrtopg –progress –delete –password-file=/home/admin/admin_backups/password.rsync rsync://lixiphp@203.171.237.245/test /home/admin/admin_backups/test


添加定时任务:

复制代码 代码如下:
[root@hk admin_backups]# crontab –e


添加以下内容:

复制代码 代码如下:
*/1 * * * * /home/admin/admin_backups/backup.sh > /dev/null 2>&1


每个一分钟从服务器A同步到服务器B!

服务器B向下备份到服务器A

复制代码 代码如下:
rsync -vzrtopg –progress –delete –password-file=/home/admin/admin_backups/password.rsync /home/admin/admin_backups/test rsync://lixiphp@203.171.237.245/test


请确保服务器A同步用户lixiphp,对模块test所在目录有读、写、执行的权限。

相关文章

  • 服务器并发量估算公式和计算方法

    服务器并发量估算公式和计算方法

    本文详细讲解了服务器并发量估算公式和计算方法,对大家的学习或工作具有一定的参考借鉴价值。需要的朋友可以收藏下,方便下次浏览观看
    2021-12-12
  • NATS服务器配置的详细介绍

    NATS服务器配置的详细介绍

    这篇文章主要介绍了NATS服务器配置的详细介绍的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • win2003或linux服务器一般多久重启一次

    win2003或linux服务器一般多久重启一次

    得根据服务器的负载量来确定,数据量大的话,每次启动时间间隔就需要短些,反之就可以长一些.如果机器维护的比较好,启动时间间隔也可以延长些,只要客户访问速度不慢就好
    2012-03-03
  • 基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解

    基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解

    Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFS NameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多,所以它的实现也更加复杂,下面给大家详细介绍,感兴趣的一起看看吧
    2019-06-06
  • 解决xshell连接服务器报找不到匹配的host key算法问题

    解决xshell连接服务器报找不到匹配的host key算法问题

    这篇文章主要介绍了xshell连接服务器报找不到匹配的host key算法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • nginx/apache/php隐藏http头部版本信息的实现方法

    nginx/apache/php隐藏http头部版本信息的实现方法

    有时候我们需要隐藏我们的服务器版本信息,防止有心人士的研究,更安全,这里介绍下在nginx/apache/php中如何隐藏http头部版本信息的方法,有需要的朋友参考下吧
    2013-06-06
  • 手把手教你低成本获取AlphaSSL通配符泛域名SSL证书2024仍可用

    手把手教你低成本获取AlphaSSL通配符泛域名SSL证书2024仍可用

    AlphaSSL 是著名数字证书认证机构和SSL证书签发商 GlobalSign 旗下的证书品牌,这篇文章主打手把手教你低成本获取AlphaSSL通配符泛域名SSL证书,需要的朋友可以参考下
    2024-02-02
  • 用 Win2003 架设邮件服务器 图文详解

    用 Win2003 架设邮件服务器 图文详解

    很多企业局域网内都架设了邮件服务器,用于进行公文发送和工作交流。但使用专业的企业邮件系统软件需要大量的资金投入,这对于很多企业来说是无法承受的
    2012-10-10
  • Hadoop部署的基础设施操作详解

    Hadoop部署的基础设施操作详解

    这篇文章主要为大家介绍了Hadoop部署的基础设施操作详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 微服务架构拆分策略详解

    微服务架构拆分策略详解

    这一章我们就来探讨如何做微服务架构的拆分,微服务拆分没有一个绝对的标准答案,服务拆分的粒度需要根据业务场景来规划,而随着业务的发展,原先的架构方案也需要做调整虽然没有固定的套路,但是我们在业务实践过程中总结的一些经验,以做参考
    2022-01-01

最新评论