2012-12-11 60 views
1

我試圖用lftp通過ftp下載一個非常大的文件。但pget只能打開一個TCP連接,據我所知netstat -na。這是我的命令和調試輸出:lftp pget ...不打開多個線程

腳本:

open -u username,password aftp.linksynergy.com 
pget -n 5 /36342_2923873_mp.txt.gz -o buy.com.csv.gz 

運行:

[email protected]:/mnt/tmp/lftp_test$ lftp -d -f lfscript 
---- Resolving host address... 
---- 1 address found: 63.123.248.17 
---- Connecting to aftp.linksynergy.com (63.123.248.17) port 21 
<--- 220 gcws3002.private.linksynergy.com FTP server (Version wu-2.6.2-9) ready. 
---> FEAT 
<--- 530 Please login with USER and PASS. 
---> AUTH TLS 
<--- 500 AUTH command not supported. 
---> USER username 
<--- 331 Password required for username. 
---> PASS ******* 
<--- 230 User username logged in. 
---> FEAT 
<--- 500 'FEAT': command not understood. 
---> PWD 
<--- 257 "/" is current directory. 
---> TYPE I 
<--- 200 Type set to I. 
---> SIZE /36342_2923873_mp.txt.gz 
<--- 550 /home/client/username//36342_2923873_mp.txt.gz: not a plain file. 
---> MDTM /36342_2923873_mp.txt.gz 
<--- 550 //36342_2923873_mp.txt.gz: No such file or directory. 
---> PASV 
<--- 227 Entering Passive Mode (63,123,248,17,29,90) 
---- Connecting data socket to (63.123.248.17) port 7514 
---- Data connection established 
---> RETR /36342_2923873_mp.txt.gz 
<--- 150 Opening BINARY mode data connection for /home/upload/upload_bin/affiliate_download/get_merchandiser_file.pl. 

注意,多線程下載做我測試了另一臺服務器上工作(一Apache的鏡像站點進行測試),所以我敢打賭,這只是FTP服務器在這種情況下不受支持的功能。

回答

3

你說得很對。從輸出中可以看出,服務器不響應FEAT命令,該命令用於確定服務器是否支持RESTart命令(RFC3659第5.4節)。

並行FTP下載是基於假裝從N個點重新開始下載,從每個點讀取文件的1/N,然後合併結果。由於服務器不支持REST,因此客戶端無法執行此操作。

相關問題