RuCore.NET

Скачка через wget с авторизацией по ftp





Недавно мне понадобилось скачать сайт с кучей мелких файлов. Как обычно я запустил mc, подключился к серверу и стал скачивать.

Но по какой то непонятной причине коннект постоянно рвался, да и сканировал mc структуру папок довольно долго.



Сначала я хотел попробовать консольным FTP, но никак не мог найти команду для рекурсивного скачивания, при этом я постоянно натыкался на рекомендации сделать это через wget, что я и решил попробовать

Синтаксис команды предельно прост

wget -r ftp://LOGIN:[email protected]_SERVER_IP_OR_HOSTNAME:PORT

Ключ -r означает ходить по папкам рекурсивно, всё остальное я думаю понятно ?

Поставив скачиваться сайт, я пошел налить чаю, а когда вернулся, то увидел что экран больше не скроллится. Я конечно сразу подумал, что опять произошел дисконнет, однако последняя надпись гласила

FINISHED —2017-09-11 20:34:28—
Total wall clock time: 9m 7s
Downloaded: 3460 files, 753M in 2m 3s (6.13 MB/s)

Что меня, к слову, изрядно удивило в плане скорости — оказалось что скачивать wget ftp с авторизацией и просто и, что важнее, намного быстрее чем через mc. Единственный момент — файлы закачиваются не туда, где запущен wget, а сначала создается папка с именем FTP_SERVER_IP_OR_HOSTNAME и в нее уже сохраняется структура. Искать где это отключить мне было влом, и я просто скопировал файлы на уровень выше.

UPDATE

Оказалось что wget скачал не всё, по причине того что дефолтная глубина при рекусивном скачивании = 5.

Правильный синтаксис такой

wget -r -l inf ftp://LOGIN:[email protected]TP_SERVER_IP_OR_HOSTNAME:PORT
или
wget -m ftp://LOGIN:[email protected]_SERVER_IP_OR_HOSTNAME:PORT

Во втором варианте сохраняется time-stamp файлов, т.е.

-m
=

-r -l inf -N



Поделись статьей с друзьями


143 просмотров



Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: