我使用 wget 从 FTP 服务器获取文件。我这样做:
wget ftp://username:[email protected]/public_html/images/audiothumbs/* .
下载大约 1600 个文件后,出现此错误:
--2010-09-07 01:36:51-- http://./
Resolving .... failed: Name or service not known.
wget: unable to resolve host address `.'
FINISHED --2010-09-07 01:36:52--
Downloaded: 1998 files, 20M in 3m 31s (95.7 KB/s)
我与其他服务器的连接是否断开了?
其次,如果使用 no-clobber 选项,如下所示:
wget -r -nc ftp://username:[email protected]/public_html/images/audiothumbs/* .
为什么文件仍然会被覆盖?
感谢大家的帮助
答案1
.
您的命令行末尾有一个多余的内容。wget
不像cp
并且不接受目标目录。 因此,在从 FTP 服务器下载所有文件后,它会尝试从服务器下载文件(使用 HTTP).
。
对于-nc
,有记录显示它做了一些与你预期不同的事情:
运行不带 -N、-nc 或 -r 的 Wget 时,下载同一个文件 在同一目录中将导致文件的原始副本 被保存,第二个副本被命名为 file.1。如果 文件再次下载,第三个副本将被命名为 file.2, 等等。当指定 -nc 时,此行为被抑制,并且 Wget 将拒绝下载文件的较新副本。因此, 在这种模式下,“no-clobber”实际上是一个错误的说法——它不是 阻止了破坏(因为数字后缀已经 防止破坏),而是保存多个版本 这被阻止了。
答案2
请注意,下载目录中的最大递归次数为 5!
当使用 wget 从 ftp 下载时,您必须设置递归深度:
-l depth
--level=depth
指定递归最大深度级别深度。默认最大深度为 5。