找回密码
 注册
查看: 2567|回复: 2

使用rsync 常见错误与解决方法整理

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-3-6 22:37:20 | 显示全部楼层 |阅读模式

在rsyncd.log里面或.err文件里面,大家可以用记事本打开查看。

注意windows下面我们需要给SvcwRsync用户,管理同步目录的所有权限,基本上这样就可以了

问题一:
9 t1 X; {) [; s' j* d/ F' y7 ~@ERROR: chroot failed ) @0 l0 ?' q6 S! N( o
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
3 z( U& \. W$ W' }) a( r
  H9 g/ E3 r8 P2 W" |原因: : K& X8 R6 ~4 V
服务器端的目录不存在或无权限,创建目录并修正权限可解决问题。
! i7 ^/ E& u7 }# w! ^" p  F* _/ n$ C/ L9 ~  a0 G; {
问题二: . c7 @" Y5 c4 l5 g
@ERROR: auth failed on module tee + l% g2 o: N* p3 A
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
4 S1 {/ l" M  ]# X" r9 f/ ?
9 I7 Z+ j* ~* }5 }) O- w9 Z原因: " e5 Y' {7 Q1 G1 ~3 h
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。 % k. o) E/ ~4 u( Z+ s8 h% w
提供正确的用户名密码解决此问题。
) z% n3 Q% F1 M9 P$ F0 X4 B2 d& U: H6 a9 y3 k0 r8 ]0 a: l4 E
问题三:
2 V4 L, I; A  o) L# B3 R@ERROR: Unknown module ‘tee_nonexists'
3 [5 `# S/ ?* J1 H- Y9 {7 Prsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3] ) }; `/ ~/ B9 F

' h7 {8 [5 Q: I" ?原因:
2 H$ n3 Y9 k, v服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。 7 C  Z% z; {6 x( S- y6 W0 V6 D
8 T' }  c6 g) T- Z7 A( ]

( R, F2 a& A, t9 I7 r问题1:   `$ O) [( o5 ^+ R  ~
在client上遇到问题: ' C7 K, r3 Q( J
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/ $ a& E! |4 O" O8 q8 g; s0 g
rsync: could not open password file "/etc/rsync.pas": No such file or directory (2) 7 [# b+ n% W. |! N* Z8 K
Password: 1 D1 F$ _7 p; {
@ERROR: auth failed on module backup 6 s. h0 B/ R) `" r: {6 g+ g
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7] : o- n4 t0 ^- N
遇到这个问题:client端没有设置/etc/rsync.pas这个文件,而在使用rsync命令的时候,加了这个参数-- . D2 B% U& {4 w5 G, G
password-file=/etc/rsync.pas , Q, A# i6 t, F

, M1 g0 w3 d  v+ H/ C问题2:
: E' h) Y8 S7 f7 q/ Srsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/
1 n: |3 X7 k/ x) z: z5 }@ERROR: auth failed on module backup
. S$ W4 w3 t5 f$ ~+ nrsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
# j  d9 }: I2 T& V1 B遇到这个问题:client端已经设置/etc/rsync.pas这个文件,里面也设置了密码111111,和服务器一致,但是
3 V' U% A3 x+ V1 a9 Z7 h服务器段设置有错误,服务器端应该设置/etc/rsync.pas ,里面内容root:111111 ,这里登陆名不可缺少
- o# K9 ^  y+ K! u9 N, F2 s- M# A$ [  T2 ?( w  z0 q2 v
问题3: 7 w& B# Q0 W9 O; u1 b# y$ ?
rsync -auzv --progress --password-file=/etc/rsync.pas root@192.168.133.128::backup /home/ * @8 p# X- h0 d: ~
@ERROR: chdir failed
) x' P- Q, k3 Y- jrsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7] 2 a2 C) ?" q' N2 G
遇到这个问题,是因为服务器端的/home/backup 其中backup这个目录并没有设置,所以提示:chdir failed ' @. h* s+ J, g5 w. M; O; h
. p7 J1 U2 e6 W  b/ b: F
问题4:   E/ \6 ~7 n5 }4 x5 `
rsync: write failed on "/home/backup2010/wensong": No space left on device (28)
" b6 M: X% [2 Crsync error: error in file IO (code 11) at receiver.c(302) [receiver=3.0.7]
8 L  e% \2 |6 x' lrsync: connection unexpectedly closed (2721 bytes received so far) [generator]
* I# R& [' E- i, _: {. Hrsync error: error in rsync protocol data stream (code 12) at io.c(601) [generator=3.0.7]
/ H( [: i  v3 [: y+ W6 c) U磁盘空间不够,所以无法操作。
0 l# R* s9 F6 {3 Y; c1 M, P5 \可以通过df /home/backup2010 来查看可用空间和已用空间
* ~# I) R8 Z. f; D! U  I4 z2 h
* `6 d) y. F; Z; n问题5:网络收集问题 * `; w2 O! t/ v3 a, [
1、权限问题
' u8 f; A/ |: b5 a类似如下的提示:rsync: opendir "/kexue" (in dtsChannel) failed: Permission denied (13)注意查看同步的目录权限是否为755 6 G: k/ d. o" A3 z0 Y5 R
2、time out 0 |" R# n2 K  h% R. W& q+ Z6 H9 y
rsync: failed to connect to 203.100.192.66: Connection timed out (110)
: }0 L  a/ y7 X6 n+ e. mrsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5] : q4 c- f; K" t
检查服务器的端口netstat –tunlp,远程telnet测试。
% B5 M$ ~0 r2 G% o2 K: \可能因为客户端或者服务端的防火墙开启 导致无法通信,可以设置规则放行 rsync(873端口) 或者直接关闭防火墙。
4 k7 m7 V" I% W3 C% K: b, X6 }' T7 i
  `  I8 \8 K* V! W9 P还有一种在同步过程中可能会提示没有权限 (将同步目录加上SvcwRsync全部权限即可,更简单的方法就是将SvcwRsync设为管理员即可)
/ M! S6 c- R& _7 h. Q: F/ G, X- Y  [- E! a3 ~
7 s- a9 N& X4 L1 T8 n# d; }) _: C
3、服务未启动
" I0 B) Z& y1 Ursync: failed to connect to 10.10.10.170: Connection refused (111) # @7 Z) j1 x! t3 Q+ ]( G7 h
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5] 6 o* E( ^% x7 \  K, `% {% z  i
启动服务:rsync --daemon --config=/etc/rsyncd.conf
( I; G7 r7 t' E. D, k) R, J# o4、磁盘空间满 % s! v  `$ ?9 I
rsync: recv_generator: mkdir "/teacherclubBackup/rsync……" failed: No space left on device (28)
9 l0 o% `% K. [: g*** Skipping any contents from this failed directory ***
6 ^9 g, O8 k5 w' k6 A" r5、Ctrl+C或者大量文件 1 o% j+ }$ _& H' z; E; J2 X
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(544) [receiver=3.0.5] * J: N; T  X/ r$ ?
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(544) [generator=3.0.5]   N8 X$ A% I% w) q  |# o" _/ u
说明:导致此问题多半是服务端服务没有被正常启动,到服务器上去查查服务是否有启动,然后查看下 /var/run/rsync.pid 文件是否存在,最干脆的方法是杀死已经启动了服务,然后再次启动服务或者让脚本加入系统启动服务级别然后shutdown -r now服务器
: ^0 ~1 L! ~. x
" z& F: U. x2 X9 i6、xnetid启动
: C! u$ B" i4 Frsync: read error: Connection reset by peer (104)
! ^1 G, |, O3 I) D3 nrsync error: error in rsync protocol data stream (code 12) at io.c(759) [receiver=3.0.5]
1 r. V$ M* g  r6 W) d0 @, F$ g  m6 E6 m查看rsync日志
& X; j" O# b) Z; E6 j* T' rrsync: unable to open configuration file "/etc/rsyncd.conf": No such file or directory 9 ^, g8 }+ q8 D: Y: z8 S
xnetid查找的配置文件位置默认是/etc下,根据具体情况创建软链接。例如:
1 T0 s9 [& X; L7 J1 B/ tln -s /etc/rsyncd/rsyncd.conf /etc/rsyncd.conf
, W7 @& S  X% M8 O" T/ R+ F或者更改指定默认的配置文件路径,在/etc/xinetd.d/rsync配置文件中。 $ h* n  h4 I2 a$ b3 Z

Rsync configure:
' B) E# ?3 N) Z7 X# c: r1 Q5 M) y配置一:
/ K" a- F/ R% i7 h$ H$ u. }, G: Z- Jignore errors* |$ j: g6 m; P  I. y1 m" e7 E: g
说明:这个选项最好加上,否则再很多crontab的时候往往发生错误你也未可知,因为你不可能天天去看每时每刻去看log,不加上这个出现错误的几率相对会很高,因为任何大点的项目和系统,磁盘IO都是一个瓶颈, N5 F( f' @6 \6 }  n

+ V  f1 X0 I7 F8 G7 ]. vRsync error:
8 \: L$ ~' C  b' i- a0 D, k错误一:
: a: b! r% _; ?3 X/ o/ ]8 G@ERROR: auth failed on module xxxxx
7 Z2 b! s& F& V- `rsync: connection unexpectedly closed (90 bytes read so far)
  ^/ j. I+ I' ^- Irsync error: error in rsync protocol data stream (code 12) at io.c(150) 2 h/ Y$ h- |8 [. Y% S# o& ?+ m+ o
说明:这是因为密码设置错了,无法登入成功,检查一下rsync.pwd,看客服是否匹配。还有服务器端没启动rsync 服务也会出现这种情况。

错误二:
% I- N, t2 V, x+ |8 m2 U3 i& mpassword file must not be other-accessible
- G) N& w5 m. E' d: J. ]continuing without password file 4 O) g& C) u0 j/ ~( B9 D# I/ t# f9 L
Password:
& l, f% D, @  m5 {% [说明:这是因为rsyncd.pwd rsyncd.sec的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd

错误三: % ^! [( C, D# p& R7 V5 g
@ERROR: chroot failed + d) y4 m  ~! v, m% s
rsync: connection unexpectedly closed (75 bytes read so far)
$ y4 J5 l% p2 ], N# W% \rsync error: error in rsync protocol data stream (code 12) at io.c(150)
$ r+ N1 ?0 U+ k, Y. b- t说明:这是因为你在 rsync.conf 中设置的 path 路径不存在,要新建目录才能开启同步

错误四:   Z9 L( N8 j2 }/ O5 B  r# H
rsync: failed to connect to 218.107.243.2: No route to host (113) ) \" ~) f; W, C8 R" a9 i  S
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
2 q1 f3 |/ ~* [% V4 L, t/ t0 H说明:防火墙问题导致,这个最好先彻底关闭防火墙,排错的基本法就是这样,无论是S还是C,还有ignore errors选项问题也会导致
4 }% H( ]# ?, b8 v  I/ W# d! k" r% l+ G
错误五:: e; a; l  L" l; j6 U1 C6 q! \$ i
@ERROR: access denied to www from unknown (192.168.1.123)
, m3 i  f# Q. v1 m1 Y8 grsync: connection unexpectedly closed (0 bytes received so far) [receiver]" t4 o0 `: j2 l1 {
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
  M$ g. H( W& V8 z/ E说明:此问题很明显,是配置选项host allow的问题,初学者喜欢一个允许段做成一个配置,然后模块又是同一个,致使导致

错误六:9 ~* c/ h; V# ?% \, @  w
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(244) [generator=2.6.9]% q' C0 j4 W, X( _, q
rsync error: received SIGUSR1 (code 19) at main.c(1182) [receiver=2.6.9]
4 g  Z: m$ j) l9 \- n- x: ?说明:导致此问题多半是服务端服务没有被正常启动,到服务器上去查查服务是否有启动,然后查看下 /var/run/rsync.pid 文件是否存在,最干脆的方法是杀死已经启动了服务,然后再次启动服务或者让脚本加入系统启动服务级别然后shutdown -r now服务器

错误七:7 T, O5 Y1 M1 f3 ?0 k
rsync: read error: Connection reset by peer (104)
; v1 z( Y4 P8 A5 d2 mrsync error: error in rsync protocol data stream (code 12) at io.c(604) [sender=2.6.9]
& V- j+ a0 g9 p$ y说明:原数据目录里没有数据存在
: _2 N' e' R' ?, x# \/ A& {- m) k

rsync 错误与解决方法整理补充篇

由于我们经常使用rsync进行服务器文件的同步工作,但在配置过程中,会出现很多问题,下面的错误基本上都是通过客户端返回的错误进行分析。

      另外查找错误过程中也学到了一个查看错误的方法-查看系统日志,我们操作的每步都会在日志上有说明,有时候报错看不懂,日志上都写的清清楚楚。

      命令:cat /var/log/messages

问题一:

@ERROR: auth failed on module bachup/ z& f* b/ a) k. ~- Q8 U$ e
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

原因:服务器端该模块(backup)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。  提供正确的用户名密码解决此问题。
  z0 C' C: ~1 w' G9 F这个问题比较蠢,如果可能你和我一样明明在模块里写了密码文件,怎么都不通,这个时候我劝你先检查一下所写模块中是不是和下图一样。比如,某处多了个s。1 s, i0 Q" R4 U$ ~9 c: n. n

微信图片_20210306223602.p ...

问题二:110错误 -time out

rsync: failed to connect to 203.100.192.66: Connection timed out (110) $ [$ \, k! R( p
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5]

原因:

检查服务器的端口netstat –tunlp,远程telnet测试。 可能因为客户端或者服务端的防火墙开启 导致无法通信,可以设置规则放行 rsync(873端口) 或者直接关闭防火墙。 " [4 \3 N5 a1 ~! j/ B' J. O
在这里博主是重启过服务器,然后就报110了,直接开启rsync服务就行。

命令:service rsyncd start

问题三:113错误 -防火墙
- g; `9 p0 k: E6 H* Jrsync: 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]
! Y3 D% B& l' k) N) _7 C原因:( s& L4 q% \, O% @& }% I; @3 d6 I
防火墙问题导致,这个很简单,关闭防火墙就可以。不过博主还是被困在这里几个小时,因为linux防火墙分两种:

-iptable和-firewall2 `$ K3 b5 p, Z/ m+ A9 G- A
认识到这个问题首先查看系统的防火墙种类,查看防火墙状态即可
& ^& n, M6 {6 c; uservice iptable status
2 a' j1 D  k3 pfirewall-cmd --state

确定防火墙种类后再按对应方法将防火墙关闭即可。

问题四:1516错误

@ERROR: auth failed on module backup
; ?7 C: {% q, ]# o5 b* _rsync error: error starting client-server protocol (code 5) at main.c(1516) [Receiver=3.0.9]$ |& p( w/ X3 T. I& H

. N3 k0 ]; s; O$ _: `* N* L

1 A+ ]- s6 y, s0 Q; U. R* u9 b7 e5 h7 _
微信图片_20210306223651.p ...
1 U2 `2 a' M( Z4 i: V8 x
$ C6 w0 E& p9 \: ^1 k7 f7 T+ w# }9 Y5 m. y/ P+ i) {: ]

解决:这个问题错误差别很大,可查看系统日志查看错误,再搜索解决方法。

注意:一般这种情况都建立在可以连通的基础。去服务端查看系统日志,可以查看相关错误。

命令:cat /var/log/massages

cat /var/log/rsyncd.log

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-3-8 09:45:25 | 显示全部楼层
使用rsync同步数据命令如下(不需要密码格式):
) _* K( p$ u0 ~0 I7 _rsync -avrt rsync://rsync:mirrors.org/cento /data/html/cent

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-3-12 21:35:31 | 显示全部楼层
rsync -avrt --bwlimit=20000 rsync://rsync.mirrors.ustc.edu.cn/centos/8.3.2011/BaseOS/x86_64/os/  /usr/src/CentOS8/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:05 , Processed in 0.028874 second(s), 30 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表