我正在尝试使用我的个人帐户通过 FTP 下载大约 20GB 的数据(不可scp
用并且tar
无法下载)。
我正在使用以下标准命令:
wget -m ftp://user:[email protected]/db/
它可以运行一段时间,然后在验证下载时失败。
当 FTP 客户端尝试连接到服务器时,它会响应:
530 抱歉,此用户的连接客户端数量已达到最大限制(15)。
因此看起来 wget 打开了多个连接。是否可以只使用一个服务器连接wget
?
答案1
默认情况下,wget
使用被动的FTP,即它使用一个控制连接并为每个文件传输打开一个新连接。
在积极的FTP,服务器会打开必要的连接。如果您可以接受传入连接,那么这是通过 FTP 传输文件的首选方式。
wget
每次只下载一个文件,因此应该只使用两个连接。看起来连接没有正确关闭。尝试将传输模式设置为“主动”是否可以解决这个问题。
要启用主动 FTP,请使用--no-passive-ftp
开关。
答案2
我认为 wget 就是这样工作的。过去,当我需要通过 FTP 镜像内容时,我使用过lftp
。
答案3
wget
不进行任何并行处理,但连接可能会断开并被服务器计数一段时间。
--retry-connrefused --waitretry=30
wget(1)
应该有帮助。如果不清楚的话我会让你看看。