rsync 学习笔记(二)常见问题集锦
问题一
@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因
服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。
问题二
@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。提供正确的用户名密码解决此问题。或是密码文件不存在指定目录内
问题三
@ERROR: Unknown module ‘tee_nonexists’
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。
问题四
password file must not be other-accessible
continuing without password filePassword:
原因:
这是因为rsyncd.pwd rsyncd.secrets的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd
问题五
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]
原因:
对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能。关闭防火墙,其实就是把tcp udp的873端口打开。
问题六
rsync error: error starting client-server protocol (code 5) at main.c(1524) [Receiver=3.0.7]
原因:
/etc/rsyncd.conf配置文件内容有错误。请正确核对配置文件。
问题七
rsync: chown "" failed: Invalid argument (22)
原因:
权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)
问题八
@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 error: some files could not be transferred (code 23) at main.c(892)
设 置 RSYNC 服务器权限,权限必须是 600或者是服务端的某些文件没有 read 权限造成的,在服务端执行:chmod -R a+r 目录
问题十
编译错误 options.c:24:18: popt.h: No such file or directory make: *** [options.o] Error 1
解决方法 丢失 popt.h,添加编译选项 --with-included-popt
问题十一
连接错误 @ERROR: auth failed on module rsyncd_module
rsync error: error starting client-server protocol (code 5) at main.c(1383) [receiv er=2.6.9]
解决方法 检查日志文件/var/log/rsyncd.log,以获取更多帮助信息
问题十二
配置文件错误 secrets file must not be other-accessible (see strict modes option) continuing without secrets file
解决方法 初始化设置 strict modes = false 或修改密码文件权限 chmod 600 /path/to/secrets
问题十三
配置文件错误 Ignoring badly formed line in configuration file: xxx
解决方法 检查 /etc/rsyncd.conf 文件中 xxx 所在行,它应该包含变量、等号(=)、和值。
问题十四
配置文件错误 rsync: chroot /path/to/files failed: Operation not permitted
解决方法 如果你没有超级用户权限,请将设置选项 use chroot = false 。 如果为 true,那么在 rsync 在传输文件以前首先 chroot 到 path 参数指定的目录下。 这样做的 原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向外部的符号连接指 向的目录文件。
问题十五
客户端错误 rsync: read error: Connection reset by peer (104) rsync error: error in rsync protocol data stream (code 12) at io.c(604) [receiver= 2.6.9] 或 rsync: getaddrinfo: mydomain.com xxx: no address associated with hostname. rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9] 或 rsync: failed to connect to mydomain.com: Connection refused (111) rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
解决方法 rsync 服务器没有在指定的端口上运行。检查 rsync 服务器端口是否指定,并检查其是否运 行 ps -aux。
问题十六
客户端错误 @ERROR: auth failed on module rsyncd_module rsync error: error starting client-server protocol (code 5) at /home/lapo/packagin g/tmp/rsync-2.6.6/main.c(1171)
解决方法 rsync 调用时用户名必须在站点名前面,例 如: rsync -auvzbP /cygwin/local/path/ user@remotehost.com::desired_module -port=8730
问题十七
客户端错误 14 [main] (2164) C:Program FilescwRsyncinssh.exe: *** fatal error - C:Program FilescwRsyncinssh.exe: *** system shared memory version mismatch detected 0x2D1E009C/0x75BE009C.
解决方法 请确保你正在 rsync 同一目录下运行 SSH。 此问题可能是由于你使用了不兼容的 Cygwin DLL 版本,在 windows 下查找 cygwin1.dll 并删除所有的旧版本,最新的版本应该在 x:cygwinin (x 为你安装 cygwin 的分区),如果找不到建议重启再试。
问题十八
客户端错误 @ERROR: auth failed on module rsyncd_module rsync error: error starting client-server protocol (code 5) at main.c(1383) [receiv er=2.6.9]
解决方法 配置文件中(通常是/etc/rsyncd.conf)“auth users”选项和“secrets file” 文件中定义给 module 的用户列表不匹配。
问题十九
客户端错误 /bin/sh: rsync: command not found rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: error in rsync protocol data stream (code 12) at io.c(453) [receiver= 2.6.9]
解决方法 检查 rsync 是否在你当前登录的 ssh 会话的环境变量中。 你可以通过命令 ssh -2 -v 用户@主机 登录到服务器,然后使用 env|grep -i path 来检查。 你可以将/etc/rsyncd/wrapper.sh 添加到/.ssh/authorized_keys 文件的第一行,并将它设 置为可执行权限。
问题二十
服务端错误: 2010/12/27 17:17:39 [20545] name lookup failed for 10.0.0.151: Temporary fail ure in name resolution 2010/12/27 17:17:39 [20545] connect from UNKNOWN (10.0.0.151) 2010/12/27 17:17:39 [20545] rsync denied on module data from unknown (10.0. 0.151) 2010/12/27 17:30:32 [20566] name lookup failed for 10.0.0.130: Temporary fail ure in name resolution /*
这个问题是 DNS 解析失败,不影响 RSYNC 正常业务功能*/ 2010/12/27 17:30:32 [20566] connect from UNKNOWN (10.0.0.130) 2010/12/27 17:33:27 [20573] name lookup failed for 10.0.0.130: Temporary fail ure in name resolution 2010/12/27 17:33:27 [20573] connect from UNKNOWN (10.0.0.130)
问题二十一
服务端错误: 2010/12/08 11:03:51 [1030] rsync error: error in file IO (code 11) at clientserver .c(862) [receiver=2.6.8]
解决办法:手工创建 /var/run/rsync/rsync.pid
参考: