2012-04-15 108 views
1

使用Copying by NetCat我試圖通過網絡複製文件NetCat。從控制檯它工作得很好。首先,我在目標機器上運行監聽netcat,然後在源機器上運行發送。通過netcat進行文件傳輸後留在TIME_WAIT中的套接字

問題是,它是從腳本doen't工作從源計算機:

SSH -f用戶@ $ destHost中「NC -l 1234 | tar xvf - >/dev/null &'#在目標主機上偵聽

tar cv/tmp/file | nc $ desthost 1234#發送到目標主機

我看到運行端口1234後仍然是打開的,並且套接字的狀態是TIME_WAIT。

如果你知道什麼是問題,請幫助我。

順便說一句,複製後我該如何驗證內容是否相同?

謝謝!

附錄:

我發現了一個很奇怪的事情,同樣實現與屏幕目標上工作的作品,但並不穩定,有時不復制文件。

ssh user @ $ desthost screen -dm -S test'nc -l 1234 | tar xvf - '目的主機上的#listening

也許有超時問題?

+0

你知道,ssh已經提供了一個名爲scp的文件傳輸服務嗎? – Ben 2012-04-15 15:00:10

+0

@Ben,感謝您的評論,我對netcat很感興趣,因爲它的速度是 – com 2012-04-15 15:06:27

+0

@com您可以決定速度是您的首要任務,或者您可以決定功能(如成功驗證,恢復部分傳輸等)是你的優先。如果你關心後者中的事情,我會考慮rsync(並且,如果你關心的速度遠遠超過身份驗證或安全性,請使用原始套接字而不是rsync上的rsync)。 – 2012-04-15 15:13:05

回答

1

你不需要的netcat爲: http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/

你只需要一個單一的ssh連接。

之後使用md5sum比較文件。這也是聰明的第一次檢查文件大小..

+0

我對netcat感興趣,因爲它的速度,感謝md5sum,它是否適用於目錄? – com 2012-04-15 15:07:42

+0

@com不要在目錄上使用md5sum,請在中間tar文件上使用它。您可以在管道的任一端通過md5sum(及其輸出到stderr)。 – 2012-04-15 15:11:16

相關問題