io.c中的rsync错误无法解释的错误(代码255)


8

我正在使用脚本在中执行rsync sudo crontab。该脚本执行2路rsync(从serverA到serverB并反向)。重新引导两台服务器计算机后,rsync无法正常工作sudo crontab。我还设置了一个新的cronjob,它失败了,错误是:

rsync error: unexplained error (code 255) at io.c(600) [sender=3.0.6]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]

但是,从终端运行时,rync脚本可以按预期工作,不会出现问题。请帮忙。

Answers:


3

鉴于几乎完全缺少相关信息,因此很难回答,但是一般来说,如果命令是从提示符处执行而不能从cron作业中执行,那是因为您需要指定命令的完整路径。Cron作业没有普通的用户环境,这尤其意味着它们没有与普通用户相同的PATH。


我以前在rsync 2.6.8上也遇到过类似的问题,显然是一个错误会随机终止病态传播,但我不记得它是否包含该错误代码。当时是在CentOS 5.5下。后来有了更新的CentOS版本,rsync进入了3.x,这个问题一去不复返了。
大卫·拉米雷斯

3

拒绝连接时似乎会发生这种情况:

ssh:连接到主机端口2222:连接被拒绝

其次是rsync错误:

rsync:连接意外关闭(到目前为止已接收0个字节)[接收器] rsync错误:/SourceCache/rsync/rsync-45/rsync/io.c(453)处的原因不明的错误(代码255)[receiver = 2.6.9]


可能的原因:

  • 在我的方案中,我遇到了防火墙问题。冲一个洞。
  • 错误的密码(不太可能解决您的问题,但会导致相同的错误)

3

rsync连接意外关闭的原因之一是超时问题,尤其是在花一些时间计算文件校验和以检查远程主机上的差异时。

为避免此问题,您需要将这些设置添加到您的~/.ssh/config或中/etc/ssh/ssh_config

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

并且可以选择在远程服务器上(在中/etc/ssh/sshd_config)类似,例如

ClientAliveInterval 30
ClientAliveCountMax 6

请参阅:选项ServerAliveIntervalClientAliveInterval含义是什么?


0

请查看您的fail2ban列表。

使用命令:“ fail2ban-client set YOURJAILNAMEHERE unbanip IPADDRESSHERE”取消禁止,然后重试。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.