使用rsync 服务端同步拉取代码的时候碰到一个问题
rsync: safe_read failed to read 1 bytes [Receiver]: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(276) [Receiver=3.1.2]
当时的情形是,我就增加了一个目录,然后去同步包含新增的目录时,就报错了。
我立马回头想想自己做了几次可能会牵扯到rsync server的变动
1. 变更了服务器ssh的白名单
2. 云防火墙添加过几个IP
3. 修改了rsync.conf配置文件
难道跟网络环境修改有关?telnet 873端口,访问直接拒绝(这是正常的,我开了用户身份验证),telnet 22端口,可行,那应该跟ssh没关系,跟防火墙也没有关系。
可配置文件看起来都是一样的?怎么之前可以,现在就不行了呢?经过1个多小时的排查,反复查看,原来是我抄配置的时候抄错了。
[xxxx/]
path = /data/static/client_res/cdn/xxxx
exclude = .svn
read only = no
hosts allow = 172.19.209.109
list = true
auth users = root,formal
secrets file = /etc/rsyncd/rsyncd.secrets
细心的小伙伴可以看一看,就是这个配置的模块名,多了一个“/”,导致其他模块也出了问题。
粗心害死人,记录一下
PS:吐槽一下,rsync的报错也太不友好了