rsync 常见错误以及解决办法

Rsync configure:
配置一:
ignore errors
说明:这个选项最好加上,否则再很多crontab的时候往往发生错误你也未可知,因为你不可能天天去看每时每刻去看log,不加上这个出现错误的几率相对会很高,因为任何大点的项目和系统,磁盘IO都是一个瓶颈

Rsync error:
错误一:
@ERROR: auth failed on module xxxxx
rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
说明:这是因为密码设置错了,无法登入成功,检查一下rsync.pwd,看客服是否匹配。还有服务器端没启动rsync 服务也会出现这种情况。

错误二:
password file must not be other-accessible
continuing without password file
Password:
说明:这是因为rsyncd.pwd rsyncd.sec的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd

错误三:
@ERROR: chroot failed
rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
说明:这是因为你在 rsync.conf 中设置的 path 路径不存在,要新建目录才能开启同步

错误四:
rsync: failed to connect to 218.107.243.2: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
说明:防火墙问题导致,这个最好先彻底关闭防火墙,排错的基本法就是这样,无论是S还是C,还有ignore errors选项问题也会导致

错误五:
@ERROR: access denied to www from unknown (192.168.1.123)
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
说明:此问题很明显,是配置选项host allow的问题,初学者喜欢一个允许段做成一个配置,然后模块又是同一个,致使导致

错误六:
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(244) [generator=2.6.9]
rsync error: received SIGUSR1 (code 19) at main.c(1182) [receiver=2.6.9]
说明:导致此问题多半是服务端服务没有被正常启动,到服务器上去查查服务是否有启动,然后查看下 /var/run/rsync.pid 文件是否存在,最干脆的方法是杀死已经启动了服务,然后再次启动服务或者让脚本加入系统启动服务级别然后shutdown -r now服务器

错误七:
rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(604) [sender=2.6.9]
说明:原数据目录里没有数据存在

错误八:
rsync error: error starting client-server protocol (code 5) at main.c(1530) [sender=3.0.6]
原因:

服务器端的目录不存在或无权限。

解决办法:

创建目录并修正权限可解决问题。

问题 @ERROR: chroot failed

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

原因:

服务器端的目录不存在或无权限。

解决办法:

创建目录并修正权限可解决问题。

问题 skipping non-regular file

receiving incremental file list

skipping non-regular file “vendor/bin/doctrine”

skipping non-regular file “vendor/bin/doctrine.php”

sent 1990 bytes received 489209 bytes 327466.00 bytes/sec total size is 182515746 speedup is 371.57

原因:

source源文件有软链接。

解决方法:

修改为 rsync -va,其中 -a == -rlptgoD (no -H,-A,-X) 或者 rsync -rvltOD 也可以。

解决后:

receiving incremental file list

vendor/bin/doctrine -> ../doctrine/orm/bin/doctrine

vendor/bin/doctrine.php -> ../doctrine/orm/bin/doctrine.php

sent 1998 bytes received 489279 bytes 327518.00 bytes/sec total size is 182515746 speedup is 371.51

问题@ERROR: module is read only

sending incremental file list

ERROR: module is read only

rsync error: syntax or usage error (code 1) at main.c(866) [receiver=3.0.6]

rsync: read error: Connection reset by peer (104)

rsync error: error in rsync protocol data stream (code 12) at io.c(759) [sender=3.0.6]

原因:

source源服务器端权限设置read为only只读权限。

解决方法:

read only = false

问题@ERROR: auth failed on module tee

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

原因:

服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。

解决方法:

提供正确的用户名密码解决此问题。

问题 @ERROR: Unknown module ‘tee_nonexists’

@ERROR: Unknown module ‘tee_nonexists’ rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.6]

原因:

服务器不存在指定模块。

解决方法:

提供正确的模块名或在服务器端修改成你要的模块以解决问题。

问题 password file must not be other-accessible

password file must not be other-accessible

continuing without password file

Password:

原因:

这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。

解决方法:

chmod 600 rsyncd.pwd

问题 rsync: failed to connect No route to host

rsync: failed to connect to 192.168.1.10: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=3.0.6]

原因:

对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。

解决方法:

在iptables 中开放该端口,语句如下:

iptables -I INPUT -p tcp –dport 873 -j ACCEPT

rsync默认端口873,其实就是把tcp udp的873端口打开。

问题 rsync error: error starting client-server protocol

rsync error: error starting client-server protocol (code 5) at main.c(1524) [Receiver=3.0.6]

原因:

/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。

问题 rsync: chown “” failed: Invalid argument (22)

rsync: chown “” failed: Invalid argument (22)

原因:

权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)

问题 @ERROR: daemon security issue — contact admin

@ERROR: daemon security issue — contact admin rsync error: error starting client-server protocol (code 5) at main.c(1530) [sender=3.0.6]

原因:

同步的目录里面有权限不足的软连接文件,需要服务器端的/etc/rsyncd.conf打开use chroot = yes。

问题 rsync: read error: Connection reset by peer (104)

rsync: read error: Connection reset by peer (104) rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receiver=3.0.6]

解决:很大可能是服务器端没有开启 rsync 服务,开启服务。

问题 @ERROR: failed to open lock file

@ERROR: failed to open lock file rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.6]

解决:配置文件 rsync.conf 中添加 lock file = rsyncd.lock 即可解决。


本文固定链接: http://blog.wwllcchf.com/?p=525 | 吴文龙的个人博客

作者:wuwenlong 于2016年02月22日发表 &
rsync 常见错误以及解决办法 | 吴文龙的个人博客

报歉!评论已关闭.