当重试后文件成功传输时,是否可以将 rsync 配置为在退出时不返回代码 23?

当重试后文件成功传输时,是否可以将 rsync 配置为在退出时不返回代码 23?

我有一个脚本,它可以将文件从一个主机 rsync 到另一个主机。有时在此 rsync 过程中,我会收到如下错误:

2019/07/19 15:03:26 [22635] <f..T...... reps/images/image_1.jpg
2019/07/19 15:03:26 [22635] rsync: read errors mapping "/home/blah/blah/fake/path/reps/images/image_1.jpg": No data available (61)
2019/07/19 15:03:26 [22635] <f..T...... reps/images/image_2.jpg
2019/07/19 15:03:26 [22635] rsync: read errors mapping "/home/blah/blah/fake/path/reps/imges/image_2.jpg": No data available (61)

在日志输出中稍往下一点,它会重试:

2019/07/19 15:04:01 [22635] WARNING: reps/images/image_1.jpg failed verification -- update discarded (will try again).
...
2019/07/19 15:04:02 [22635] WARNING: reps/images/image_2.jpg failed verification -- update discarded (will try again).
...
2019/07/19 15:04:03 [22635] <f..T...... reps/images/image_1.jpg
2019/07/19 15:04:03 [22635] <f..T...... reps/images/image_2.jpg

这表明文件第二次传输成功,但 rsync 仍然以代码 23 退出,表示出现错误。

如果重试成功,我希望我的脚本继续执行并完成其任务。如果 23 更合理,例如其他错误,脚本应该停止。我知道如果有 23 代码,我可以循环,但我还能做其他更快的事情吗?有人知道为什么 rsync 在这种特殊情况下仍然以 23 退出吗?

相关内容