私は、あるホストから別のホストにファイルを 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
これは、ファイルが 2 回目に正常に転送されたことを示していますが、rsync は依然としてコード 23 で終了し、エラーを示します。
再試行が成功した場合、スクリプトを続行してタスクを完了したいと思います。23 が (より) 正当な場合 (たとえば、他のエラー)、スクリプトは停止する必要があります。23 コードがある場合はループできることはわかっていますが、もっと高速に実行できる方法はありますか? この場合、rsync が 23 で終了する理由を知っている人はいますか?