У меня есть веб-каталог, где я храню некоторые файлы конфигурации. Я хотел бы использовать wget, чтобы вытащить эти файлы и сохранить их текущую структуру. Например, удаленный каталог выглядит так:
http://mysite.com/configs/.vim/
.vim содержит несколько файлов и каталогов. Я хочу воспроизвести это на клиенте, используя wget. Не могу найти правильную комбинацию флагов wget, чтобы сделать это. Любые идеи?
Чтобы рекурсивно загрузить каталог, который отклоняет файлы index.html * и загружает их без имени хоста, родительского каталога и всей структуры каталога:
источник
Для всех, у кого есть подобные проблемы. Wget следует,
robots.txt
что может не позволить вам захватить сайт. Не беспокойтесь, вы можете отключить его:http://www.gnu.org/software/wget/manual/html_node/Robot-Exclusion.html
источник
Вы должны использовать флаг -m (зеркало), так как он заботится о том, чтобы не связываться с метками времени и повторяться бесконечно.
Если вы добавите пункты, упомянутые другими в этой теме, это будет:
источник
Вот полная команда wget, которая сработала для меня, чтобы загрузить файлы из каталога сервера (игнорируя
robots.txt
):источник
Если
--no-parent
не поможет, вы можете использовать--include
опцию.Структура каталогов:
И вы хотите скачать,
downloads/good
но неdownloads/bad
каталог:источник
работает для меня.
Возможно, у вас есть .wgetrc, который ему мешает?
источник
Чтобы извлечь каталог рекурсивно с использованием имени пользователя и пароля, используйте следующую команду:
источник
Wget 1.18 может работать лучше, например, меня укусила ошибка версии 1.12, где ...
... получает только index.html вместо всех файлов.
Обходной путь должен был заметить некоторые 301 перенаправления и попробовать новое местоположение - учитывая новый URL, wget получил все файлы в каталоге.
источник
Все, что вам нужно, это два флага, один
"-r"
для рекурсии и"--no-parent"
(или-np
), чтобы не входить в'.'
и".."
. Нравится:wget -r --no-parent http://example.com/configs/.vim/
Вот и все. Он будет загрузить в следующем локальное древо
./example.com/configs/.vim
. Однако, если вы не хотите использовать первые два каталога, используйте дополнительный флаг,--cut-dirs=2
как предлагалось в предыдущих ответах:wget -r --no-parent --cut-dirs=2 http://example.com/configs/.vim/
И он загрузит ваше файловое дерево только в
./.vim/
Фактически, я получил первую строку из этого ответа именно из руководства по wget , у них есть очень чистый пример к концу раздела 4.3.
источник
Следующая опция кажется идеальной комбинацией при рекурсивной загрузке:
wget -nd -np -P / dest / dir - рекурсивный http: // url / dir1 / dir2
Соответствующие фрагменты с man-страниц для удобства:
источник
Вы должны быть в состоянии сделать это, просто добавив -r
источник
Эта версия загружается рекурсивно и не создает родительские каталоги.
Применение:
~/.bashrc
или вставить в терминалwgetod "http://example.com/x/"
источник