我有一个web目录,我存储一些配置文件。我想使用wget将这些文件拉下来并保持它们当前的结构。例如,远程目录看起来像:
http://mysite.com/configs/.vim/
.vim包含多个文件和目录。我想用wget在客户端复制它。似乎无法找到正确的wget标志组合来完成这项工作。什么好主意吗?
我有一个web目录,我存储一些配置文件。我想使用wget将这些文件拉下来并保持它们当前的结构。例如,远程目录看起来像:
http://mysite.com/configs/.vim/
.vim包含多个文件和目录。我想用wget在客户端复制它。似乎无法找到正确的wget标志组合来完成这项工作。什么好主意吗?
当前回答
wget -r http://mysite.com/configs/.vim/
对我有用。
也许你有一个。wgetrc干扰它?
其他回答
您必须将-np/——no-parent选项传递给wget(当然,除了-r/——recursive之外),否则它将遵循我的站点上目录索引中的链接到父目录。所以命令看起来是这样的:
wget --recursive --no-parent http://example.com/configs/.vim/
为了避免下载自动生成的index.html文件,使用-R/——reject选项:
wget -r -np -R "index.html*" http://example.com/configs/.vim/
wget -r http://mysite.com/configs/.vim/
对我有用。
也许你有一个。wgetrc干扰它?
您应该使用-m (mirror)标志,因为这样可以避免混淆时间戳并无限地递归。
wget -m http://example.com/configs/.vim/
如果你加上其他人在这篇文章中提到的要点,它将是:
wget -m -e robots=off --no-parent http://example.com/configs/.vim/
Wget 1.18可能工作得更好,例如,我被1.12版本的bug咬了,其中…
wget --recursive (...)
...只检索index.html而不是所有文件。
解决方法是注意到一些301重定向,并尝试新的位置-给定新的URL, wget得到目录中的所有文件。
你只要加一个-r就可以了
wget -r http://stackoverflow.com/