Как быстрее сделать зеркальный веб-сайт wget?

Просто напишите {} два раза в своей команде. Следующее будет работать:

$ echo test | xargs -I {} echo {} {}
test test

Ваша проблема в том, как команды вложены . Давайте посмотрим на это:

echo test | xargs -I {} echo {} && echo {}

bash выполнит echo test | xargs -I {} echo {} . Если он будет выполнен успешно ssly, echo {} выполняется. Чтобы изменить вложение, вы можете сделать что-то вроде этого:

echo test | xargs -I {} sh -c "echo {} && echo {}"

Однако у вас могут возникнуть проблемы, потому что этот подход может быть подвержен инъекции кода. Когда "test" заменяется кодом оболочки, он выполняется. Следовательно, вам, вероятно, следует передать ввод во вложенную оболочку с аргументами.

echo test | xargs -I {} sh -c 'echo "$1" && echo "$1"' sh {}
0
19.03.2019, 14:25
1 ответ

Чтобы отразить веб-сайт, вы используете поисковый робот .wget(с флагом -m)указан в списке, но wgetне предназначен для параллельных загрузок. aria2, с другой стороны, не может сканировать веб-сайт, но загружает список URL-адресов. Вы должны знать список URL-адресов в начале.

Вам нужен инструмент, который может делать и то, и другое. В этом вопросе есть предложение использовать httrack:httrack urlбудет зеркалировать urlс 8 одновременными подключениями.

4
28.01.2020, 02:22

Теги

Похожие вопросы