1

NetCat によるコピーの使用 NetCatネットワーク経由でファイルをコピーしようとしています。コンソールからはかなりうまく機能します。最初に宛先マシンで netcat をリッスンし、ソース マシンで送信を実行した後に実行します。

問題は、ソース マシンのスクリプトからは機能しないことです。

ssh -f user@$desthost 'nc -l 1234 | tar xvf - > /dev/null &' #宛先ホストでリッスン

tar cv /tmp/ファイル | nc $desthost 1234 #宛先ホストに送信

ポート1234を実行した後も開いていて、ソケットのステータスがTIME_WAITであることがわかりました。

何が問題なのかご存知でしたら、助けてください。

ところで、コピーした後、コンテンツが同一であることをどのように検証できますか?

ありがとう!

補遺:

私は非常に奇妙なことを 1 つ見つけました。宛先作業の画面で同じ実装が機能しますが、安定しておらず、ファイルをコピーしない場合があります。

ssh user@$desthost screen -dm -S test 'nc -l 1234 | tar xvf - ' #宛先ホストでリッスン

たぶんタイムアウトに問題がありますか?

4

1 に答える 1

1

そのためにnetcatは必要ありません: http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

単一の ssh 接続が必要です。

その後、md5sum を使用してファイルを比較します。最初にファイルサイズも確認するのが賢明です..

于 2012-04-15T15:00:01.000 に答える