2013-07-22 43 views
6

我有大約9.5 GB的壓縮文件大小,並希望從一臺服務器轉移到另一臺服務器,我試圖用像下面,使用NC傳輸大文件

服務器2:

NC - LP 1234> file.tar.gz

server1的:

NC -w 1 1234 < file.tar.gz

它不工作。

我嘗試了很多方法。

一體機是CentOS的6.4,而另一個是Ubuntu的12.04 LTS

預先感謝。

+0

你不需要在那裏的主機名嗎? –

+2

有沒有理由不能簡單地使用scp? –

+0

簡單的scp打破了一段時間後,斷開管道錯誤...因爲文件大小爲9.5 GB –

回答

19

在接收端:

nc -l 1234 > file.tar.gz 

在發送端:

cat file.tar.gz | nc <reciever's ip or hostname> 1234 

這應該工作。根據速度的不同,這可能需要一段時間,但轉移完成後,這兩個過程都將完成。

+2

我很榮幸! –

+0

傳輸已完成,但文件大小爲0,實際上正如我告訴過你的文件大小爲9。6 GB ... –

+0

發佈你的'ls -l'的結果,因爲這對我有用。 –

3

nc(1) man page

-l用於指定NC應該監聽傳入的連接,而不是發起 到遠程主機的連接。將此選項與 -p,-s或-z選項結合使用是錯誤的。

因此您使用-p是錯誤的。

Server2上使用:

nc -l 1234 > file.tar.gz 

而且server1上:

nc server2 1234 < file.tar.gz 
+0

傳輸已完成,但文件大小爲0,實際上,正如我告訴您的文件大小爲9.6 GB ... –

0

從發件人

nc -v -w 30 1337 - l < filename 

其中 「-v」 從冗長, 「-w 30」 爲連接前30秒等待,「1337」端口號,「-l」告訴nc這是發送者

從接收器 nc -v -w 2 ip_add_of_sender 1337 > filename