wget不会下载具有索引。*文件的目录

时间:2014-09-17 16:05:31

标签: linux recursion wget

如果该目录具有索引。* file?

,如何以递归方式获取目录中的文件

我需要将位于共享主机(无SSH)的不同网站上的多个目录复制到VPS上的新家。尝试将服务器发送到服务器。

wget -r -e robots=off --no-parent --user=myusername --password=mypass http://mywebsite.com/mydir/

这样可以很好地检索所有文件和子目录在" mydir"有一个交易杀手问题。如果任何目录有index.html,index.php等,它将不会下载该目录的内容。它只会下载index.html或者如果index.php下载它,将文件更改为index.html。

我尝试过-p -m --no-cookies --ftp标志等的许多不同组合,没有任何东西可以获得具有索引​​。*文件的目录。

我试图在没有在源服务器上创建tar并专门下载它的情况下使用它。

关于创建index.html文件的SO和其他网站上有大量文章,但如果存在索引文件,我找不到跳过目录的信息。如果副本没有创建index.html会很好,但现在我主要担心的是如果有索引。*文件则获取完整目录。

感谢您的帮助。

更新:@Reeno让我走上正轨。使用以下命令重新尝试使用新的FTP帐户,并且所有目录(包括索引。*文件)都可以立即成功下载。

wget -r --ftp-user=myftpname@mywebsite.com --ftp-password=mypass ftp://ftp.mywebsite.com/mydir/

1 个答案:

答案 0 :(得分:0)

wget永远不会通过http下载整个目录。你得到的是,有时网络服务器允许目录表示为其内容列表。实际格式是一个html页面,因此wget然后递归地获取该页面中指向的链接。

如果你有ftp访问该网站,你可以使用ftp代替。与http不同,ftp是专为将文件从文件系统传输到另一个文件而设计的。大多数ftp客户端都可以检索整个目录(包括子目录)而无需选择每个文件。有很多选择,但只需将ftp://your.hostname.com放在文件管理器的位置栏中,通常会提示输入用户名和密码,您可以在大多数操作系统中拖放整个目录。