2012-12-11 29 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,因此客户端无法执行此操作。

相关问题