复制文件后Wget不会退出

时间:2012-11-07 19:53:46

标签: unix wget

在我的Unix服务器上,我执行此命令通过unix shell复制folderc中的所有内容。

wget -r -nH --accept=ismv,ismc,ism,jpg --cut-dirs=5 --level=0 --directory-prefix="/root/sstest"  -o /root/sstest2.log http://site.com/foldera/folderb/folderc/

来自folderc的所有内容实际上都已复制到/ root / sstest。

复制后wget不会退出,并将我带回命令提示符。

可能导致此行为的原因是什么?

3 个答案:

答案 0 :(得分:9)

我遇到了同样的问题,我只是在URL的前端和末尾添加单引号。 这一步解决了这个问题。

答案 1 :(得分:1)

HTTP服务器可能会错误地响应响应的长度,因此Wget会一直等待更多数据。这可能是由于Wget或服务器(或服务器上运行的软件组件)中的一个错误,您在交互式Web浏览器中没有注意到这一错误。

要进行调试,请确保您运行的是最新版本的Wget。如果问题仍然存在,请使用-d标志收集调试输出,并在bug-wget@gnu.org向Wget开发人员发送有关不当行为的报告。确保在发送之前从报告中删除敏感数据(如密码或内部主机名)。

答案 2 :(得分:1)

使用wget:

从Dropbox下载文件时,我发现了类似的问题
  • 下载完成(文件已​​完成)

  • wget(或curl,取决于我用于下载的内容)在文件完成后不再出现在正在运行的进程中

  • wget(或curl)不会返回命令提示符

  • 返回命令提示符可以强迫"通过简单地按Enter键,我不必实际杀死任何进程返回命令提示符,在我再按一次输入之前它只是卡住了。

问题不是特定于wget的,当我尝试使用curl从同一位置下载相同的文件时也会出现问题。如果我从几个unix web服务器下载相同的文件,wget和curl都不会出现问题。

我尝试使用超时(使用足够长的时间)强制wget / curl返回命令提示符,但是在超时杀死它们后它们甚至不会返回命令提示符。