netcat、socat、curl を使用してファイル転送を再開するにはどうすればよいですか?

netcat、socat、curl を使用してファイル転送を再開するにはどうすればよいですか?

1 つのファイルで構成される 400 GB のデータベースを、私が完全に制御できるサーバーから、海の反対側にある別のコンピューター (ただし、低速接続を使用) にインターネット経由で転送する必要があります。転送には丸 1 週間かかるため、すべてのプロトコル オーバーヘッドを削減するために (FTP を使用しても 10 分のオーバーヘッドが発生します)、生の TCP 接続を使用しています。

すでにファイルの 10% を転送しましたが、数時間後に計画的な停止が発生することがわかりました。

netcatやsocatに問い合わせるにはどうすればいいですか?カールFILE:database.raw中断された時点でサービスを提供するか?

答え1

コメントに記載されているコマンドが次の場合:

socat -u FILE:somedatabase.raw TCP-LISTEN:4443,keepalive,tos=36

送信側では、 を実行しseekてそこからサービスを開始できます。

socat -u gopen:somedatabase.raw,seek=1024 TCP-LISTEN:4443,keepalive,tos=36

受信側では、次のことも探す必要があります。

socat tcp:example.com:4443 gopen:somedatabase.raw,seek=1024

のマニュアルページを確認してくださいsocat。他にも興味深いオプションがあるかもしれません。

関連情報