wget中的–rejectfunction似乎不起作用

我正在尝试使用wget镜像大多数 ftp服务器。

这个特定的服务器将数据文件的旧副本保存在每个子文件夹内的名为“备份”的文件夹中。 例如'/ MaffiaOffShore / backup''/ VeryVeryDodgy / backup',这是我不想要的,但我尝试使用–reject'backup'并使用–exclude-directories'backup'和其他各种组合,都具有相同的结果,整个服务器被镜像,包括备份文件夹。

这是一个错误还是我错过了什么?

排除目录选项是:

--exclude-directories=List 

不是 –exclude-目录,因为你已经包含在你的问题

从wget 手册

 -X list --exclude-directories=list Specify a comma-separated list of directories you wish to exclude from download (@pxref{Directory-Based Limits} for more details.) Elements of list may contain wildcards. 

如果你想排除/MaffiaOffShore/backup/MaffiaOffShore/ ,尝试

 -x/MaffiaOffShore/backup 

要么,

 --exclude-directories=/MaffiaOffShore/backup 

明确。


因此,从基本目录中排除所有不需要的目录,

 -x/MaffiaOffShore/backup,/VeryVeryDodgy/backup 

是的,你的尝试也失败了我的wget。 不过,我刚刚证实,以下内容适用于所有嵌套的子目录:

 wget -r ftp://user@xxx --exclude-directories '/backup,*/backup,*/*/backup,*/*/*/backup' 

通配符“* / backup”不匹配/备份,但会匹配/ something / backup之类的path。 通配符“* / * / backup”将匹配“/ something / else / backup”等。