每 20 分钟运行一次的 cron 任务中偶尔出现 rsync 错误代码 12“Connection Reset by Peer (104)”

每 20 分钟运行一次的 cron 任务中偶尔出现 rsync 错误代码 12“Connection Reset by Peer (104)”

我有一个由 cron 运行的脚本,该脚本将 rsync 的各个文件夹同步到不同城市的服务器上,以将文件发布到网站。如果重要的话,源服务器位于公司防火墙内,而目标服务器位于公司防火墙外。

该脚本使用锁定系统来防止其自身的多个实例同时运行。

rsync 偶尔(每天最多 1-3 次)失败并出现以下错误:

rsync: read error: Connection reset by peer (104) rsync error: error in rsync protocol data stream (code 12) at io.c(604) [sender=2.6.9]

我发现一些建议建议我指定超时值,因此我将标志 --timeout=10 添加到命令中。结果是一个不同的错误:

io timeout after 10 seconds -- exiting
rsync error: timeout in data send/receive (code 30) at io.c(165) [sender=2.6.9]

接收服务器的负载可能相当重,因此这可能是一个因素。

有没有人有任何建议来避免这些错误?

相关内容