常见问题
3.1.1 rsync服务端排错思路
查看rsync服务配置文件路径是否正确,正确的默认路径为:/etc/rsyncd.conf
查看配置文件里host allow,host deny,允许的IP网段是否是允许客户端访问的IP网段。
查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组)
查看rsync服务是否启动。查看命令为:ps -ef | grep rsync。端口是否存在netstat -plunt| grep 873
查看iptables防火墙和selinux是否开启允许rsync服务通过,也可考虑关闭。
查看服务端rsync配置的密码文件是否为600的权限,密码文件格式是否正确,正确格式用户名:密码,文件路径和配置文件里的secrect files参数对应。
如果是推送数据,要查看下,配置rsyncd.conf文件中用户是否对模块下目录有可读写的权限。
3.1.2 rsync客户端排错思路
查看客户端rsync配置的密码文件是否为600的权限,密码文件格式shfou 正确,注意:仅需要有密码,并且和服务端的mima 一直
用telnet链接rsync服务器IP地址873查看服务是否启动(可测试服务端防火墙是否阻挡)
客户端执行命令是rsync -avz /etc/hosts [email protected]::backup
此命令的细节要记清楚,尤其是双冒号
3.2 No route to host问题
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup rsync: failed to connect to 172.16.1.41: No route to host (113) rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
解决方案
服务端关闭防火墙
3.3 执行命令错误导致的报错
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::/backup ERROR: The remote path must start with a module name not a / rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决:
rsync命令语法理解错误:/backup 必须是模块,也就是不能“/”
3.4 @ERROR: auth failed on module backup
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup Password: @ERROR: auth failed on module backup rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6] [[email protected] ~]#
解决:
1.账号rsync_backup或者密码123456错误了。
2.指定的密码文件和实际的名称不一致。
secrets file = /etc/rsync.password
3.密码文件的权限忘记改为600
4.密码文件多了一个空格。 vi时候用set list或者用cat -A
3.5 @ERROR: Unknown module ‘backupa‘
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backupa @ERROR: Unknown module ‘backupa‘ rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6] [r[email protected] ~]#
解决:
文件的模块和命令的模块不匹配
3.6 权限问题
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup Password: sending incremental file list rsync: ERROR: cannot stat destination "." (in backup): Permission denied (13) rsync error: errors selecting input/output files, dirs (code 3) at main.c(554) [receiver=3.0.6] rsync: connection unexpectedly closed (5 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
解决:
共享目录的属主和属组不正确,不是rsync
共享目录的权限不正确。不是755
3.7 没有创建对应的目录
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup Password: @ERROR: chdir failed rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决:
看配置文件的目录和创建的目录是否对应(相同)
或者目录没有创建
3.8 ID或者用户组和用户组不存在
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup Password: @ERROR: invalid uid rsync rsync error: error starting client-server protocol (code 5) at main.c(1503) [sender=3.0.6]
解决:
创建rsync目录
3.9 客户端已经配置了密码文件,但免密钥登录方式,依旧需要输入密码
[[email protected] ~]# rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password password file must not be other-accessible continuing without password file Password: sending incremental file list hosts rsync: mkstemp ".hosts.xWBidH" (in backup) failed: Permission denied (13) sent 196 bytes received 27 bytes 89.20 bytes/sec total size is 349 speedup is 1.57 rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
解决:
客户端的密码文件权限不是600
chmod 600 /etc/rsync.password
3.10 传输慢
看日志文件
2017/03/08 20:15:49 [25053] params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors 2017/03/08 20:15:49 [25053] name lookup failed for 172.16.1.31: Name or service not known 2017/03/08 20:15:49 [25053] connect from UNKNOWN (172.16.1.31) 2017/03/08 20:15:49 [25053] rsync to backup/ from [email protected] (172.16.1.31) 2017/03/08 20:15:49 [25053] receiving file list 2017/03/08 20:15:49 [25053] rsync: mkstemp ".hosts.q63Fzr" (in backup) failed: Permission denied (13) 2017/03/08 20:15:49 [25053] sent 173 bytes received 253 bytes total size 349
解决:
配置本地域名解析/etc/hosts
172.16.1.31 nfs01
修改后
2017/03/08 20:17:46 [25056] params.c:Parameter() - Ignoring badly formed line in configuration file: ignore errors 2017/03/08 20:17:46 [25056] connect from nfs01 (172.16.1.31) 2017/03/08 20:17:46 [25056] rsync to backup/ from [email protected] (172.16.1.31) 2017/03/08 20:17:46 [25056] receiving file list 2017/03/08 20:17:46 [25056] rsync: mkstemp ".hosts.CmOBRm" (in backup) failed: Permission denied (13) 2017/03/08 20:17:46 [25056] sent 173 bytes received 253 bytes total size 349
3.11 客户端目录权限644+rsync使用了avz参数
推送之后会给服务端的/backup目录修改权限。使服务端权限变成644导致传输失败。
sh [[email protected] ~]# echo 123456>/etc/rsync.password ash: 123456: Bad file descriptor
3.12
问题,服务没启动
[[email protected] scripts]# rsync -avz /etc/hosts [email protected]::allbackup rsync: failed to connect to 172.16.1.41: Connection refused (111) rsync error: error in socket IO (code 10) at clientserver.c(124) [sender=3.0.6]
解决:
rsync --daemon
未知错误
[[email protected] scripts]# rsync -az -delete /data/ [email protected]::nfsbackup --password-file=/etc/rsync.password rsync: Failed to exec lete: No such file or directory (2) rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6] rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]
解决:重新写一下命令,就OK?