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所在目录有读、写、执行的权限。

相关文章

  • rsync 安装使用详解

    rsync 安装使用详解

    rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync
    2013-03-03
  • 阿里云主机不能用IP访问网站的解决方法(配置安全组规则搞定)

    阿里云主机不能用IP访问网站的解决方法(配置安全组规则搞定)

    刚买了一台阿里云主机,迫不待及的试试速度,怎知网站访问不了,用IP或绑定域名都无法访问,后来提交工单才知道,需要配置安全组规则才行。针对同样像我一样的新手,本文就介绍一下如何在开通阿里云主机后配置安全组规则,让网站能够外网访问,需要的朋友可以参考下
    2020-07-07
  • centos6.7安装mysql5.5.48的方法

    centos6.7安装mysql5.5.48的方法

    这篇文章主要介绍了centos6.7安装mysql5.5.48的方法,较为详细的分析了centos6.7下安装mysql的实现方法及易错问题与注意事项,需要的朋友可以参考下
    2016-05-05
  • Linux下Web网站压力测试工具Webbench使用教程

    Linux下Web网站压力测试工具Webbench使用教程

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。
    2014-11-11
  • 集中化管理平台Ansible详解

    集中化管理平台Ansible详解

    这篇文章主要介绍了Ansible一种集成IT系统的配置管理,应用部署,执行特定任务的开源平台,需要的朋友可以参考下
    2016-08-08
  • 基于IntelliJ IDEA运行慢的解决方法

    基于IntelliJ IDEA运行慢的解决方法

    下面小编就为大家分享一篇基于IntelliJ IDEA运行慢的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • ubuntu 服务器中文乱码问题的解决方法

    ubuntu 服务器中文乱码问题的解决方法

    这篇文章主要介绍了ubuntu 服务器中文乱码问题的解决方法,需要的朋友可以参考下
    2018-03-03
  • rsync 同步错误 cwrsync rsync error rsync error: some files/attrs were not transferred 解决方法

    rsync 同步错误 cwrsync rsync error rsync error: some files/attrs

    今天在帮客户配置机器的时候提示cwrsync rsync error rsync error: some files/attrs were not transferred,最终发现原来是用mcafee设置了文件权限不可写导致,特整理下方便需要的朋友
    2013-03-03
  • Centos下IP与DNS设置方法详解

    Centos下IP与DNS设置方法详解

    这篇文章主要介绍了Centos下IP与DNS设置方法,较为详细的分析了CentOS服务器针对DNS、IP、网关等的相关设置技巧与注意事项,需要的朋友可以参考下
    2016-10-10
  • HTTP与HTTP协作的Web服务器访问流程图解

    HTTP与HTTP协作的Web服务器访问流程图解

    记得以前刚接触网站的时候,很奇怪一台服务器上可以放很多个网站,不用的域名就可以访问不同的目录,今天看起来的理所当然以前真是不可思议,今天刚好看到了这篇文章就为大家分享一下
    2018-10-10

最新评论