当用rsync遇到这个错误时,是丈二金刚摸不着头脑,网上查了一遍,众说纷纭误导不少,后来用排除法解决:
命令:
/usr/bin/rsync -avzOP -e "ssh -o StrictHostKeyChecking=no -i /id_rsa" /data0/Server/Todo/gitrepo/MT014/ jenkins@{ip}:/www/wwwroot/test --no-p --delete --chown=www:www --chmod=775 --exclude-from=/data0/Server/Settings/jenkins/common/exclude.list
遇到错误:
rsync: connection unexpectedly closed (28510 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.2]
排除与修复步骤
- 检查ssh 账号是否能正常登入目标服务器
- 检查id_rsa权限是否正确,应为700,不然运行时会有提示
- 目标服务器用户,是否对目标文件夹具有写权限,本次问题解决办法:原wwwroot属主与权限 www:www 755, 由于所用的jenkins用户也属www组,故此把wwwroot及其下文件改为 775,问题解决。