wget 中的 --reject 功能似乎不起作用

wget 中的 --reject 功能似乎不起作用

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

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

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

答案1

排除目录选项是:

--exclude-directories=List

不是--exclude-directory 正如您在问题中包含的那样

来自 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.

答案2

如果您想排除/MaffiaOffShore/backup/MaffiaOffShore/请尝试

-x/MaffiaOffShore/backup

或者,

--exclude-directories=/MaffiaOffShore/backup 

明确地。


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

-x/MaffiaOffShore/backup,/VeryVeryDodgy/backup

答案3

是的,你在我的 wget 上的尝试也失败了。不过,我刚刚验证了以下内容对所有嵌套子目录都有效:

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

通配符“*/backup”不会匹配 /backup,但它会匹配像 /something/backup 这样的路径。通配符“*/*/backup”会匹配“/something/else/backup”,等等。

相关内容