wget 卡在镜像网页的过程中

wget 卡在镜像网页的过程中

我正在使用以下命令镜像一个网站:

wget -m -nc -p -E -k -np -e robots=off https://www.somesite.com/ & disown

一切都很顺利,直到我发现它卡在了

Reusing existing connection to www.somesite.com:443.

然后我关闭了那个tty。

我该怎么做才能让它继续下去?

以下是 wget 输出的一部分:

www.somesite.com/.../sport.html       [   <=>                                           ] 833.32K  1.53MB/s    in 0.5s    
Last-modified header missing -- time-stamps turned off.
2018-02-10 16:34:23 (1.53 MB/s) - ‘www.somesite.com/.../sport.html’ saved [853319]

--2018-02-10 16:34:23--  http://www.somesite.com/.../social
Reusing existing connection to www.somesite.com:80.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘www.somesite.com/.../social.html’

www.somesite.com/.../social.html      [ <=>                                             ] 141.35K   816KB/s    in 0.2s    

Last-modified header missing -- time-stamps turned off.
2018-02-10 16:34:24 (816 KB/s) - ‘www.somesite.com/.../social.html’ saved [144747]

--2018-02-10 16:34:24--  http://www.somesite.com/.../parliament
Reusing existing connection to www.somesite.com:80.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘www.somesite.com/.../parliament.html’

我使用的命令是:

wget -m -c -p -E -k -np -e robots=off https://www.somesite.com

有没有办法指示 wget 不要下载之前已经下载过的相同 url?

答案1

只需再次运行该命令即可。wget足够聪明,可以继续下载。但是,您必须指定正确的选项。

例如,-nc如果您想重新下载已更改的文件,请删除该选项(另请参阅如果 wget 中存在文件,则跳过下载?):

-nc
--no-clobber

(…) 当指定 -nc 时,(…) Wget 将拒绝下载文件的较新副本。因此,在这种模式下,“no-clobber”实际上是一个误称——它不是阻止破坏(因为数字后缀已经阻止破坏),而是阻止了多个版本保存。

当使用 -r 或 -p 运行 Wget 时,但不使用 -N、-nd 或 -nc,重新下载文件将导致新副本直接覆盖旧副本。添加 -nc 将阻止此行为,而是保留原始版本并忽略服务器上任何较新的副本。

如果在下载大文件时下载中断,您可能需要添加以下-c选项:

-c
--continue

继续获取部分下载的文件。当你想完成由 Wget 的上一个实例或其他程序启动的下载时,这很有用。

引文来源:man wget

您还应该考虑使用screentmux代替来disown检查后台进程的状态和输出。

相关内容