Назад | Перейти на главную страницу

Функция --reject в wget, похоже, не работает

Я пытаюсь отразить большинство ftp-сервера с помощью wget.

Этот конкретный сервер хранит старые копии файлов данных в папке под названием «резервная копия» внутри каждой подпапки. например '/ MaffiaOffShore / backup' '/ VeryVeryDodgy / backup', которого я не хочу, кроме моих попыток использования --reject 'резервное копирование'и используя --exclude-directoryies'резервное копирование'и различные другие комбинации, все имеют одинаковый результат, зеркалируется весь сервер, включая резервную копию.

Это ошибка или я что-то упускаю?

Да, ваши попытки терпят неудачу и на моем wget. Однако я только что убедился, что для всех вложенных подкаталогов хорошо работает следующее:

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

Подстановочный знак «* / backup» не будет соответствовать / backup, но он будет соответствовать таким путям, как / something / backup. Подстановочный знак '* / * / backup' будет соответствовать '/ something / else / backup' и т. Д.

Если вы хотите исключить /MaffiaOffShore/backup из /MaffiaOffShore/, пытаться

-x/MaffiaOffShore/backup

или,

--exclude-directories=/MaffiaOffShore/backup 

явно.


Итак, из базового каталога вы исключаете все ненужные каталоги как,

-x/MaffiaOffShore/backup,/VeryVeryDodgy/backup

Параметр исключения каталогов:

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