是否可以强制 wget 使用一个连接?

是否可以强制 wget 使用一个连接?

我正在尝试使用我的个人帐户通过 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=30wget(1)应该有帮助。如果不清楚的话我会让你看看。

相关内容