ネットワーク上の複数のコンピュータにファイルを作成してコピーするスクリプトがあります。
時には1つまたは2つのシステムがダウンする可能性があり、これによりcpがタイムアウトするのに長い時間がかかることがあります。
私の質問は次のとおりです
- これに対するデフォルトのタイムアウトは何ですか?
- 実際にこれを無視してそれを下げることはできますか?
答え1
cp
それ自体はタイムアウトを強制しません。ファイルシステムの 1 つがブロックまたは遅い場合、コマンドはしばらく実行できます。
timeout
以下を試してみてください。たとえば、コマンドをしばらくして強制的に停止し、30秒後に完了しない場合は、timeout 30 cp <source> <destination>
コマンドを開始して終了します。cp
ユースケースでは、レプリケーションに異常に長い時間がかかる理由に応じて、目的の効果が表示される場合もあれば、そうでない場合もあります。
答え2
rsyncにはタイムアウトオプションがあります
--timeout=SECONDS set I/O timeout in seconds
強化されたCPとして使用できます。