команда wget

wget это бес­плат­ная ути­ли­та, кото­рая может быть исполь­зо­ва­на для извле­че­ния фай­лов с исполь­зо­ва­ни­ем HTTP, HTTPS и FTP, кото­рые рас­смат­ри­ва­ют­ся в каче­стве наи­бо­лее широ­ко исполь­зу­е­мых про­то­ко­лов Интернета.

Ее назва­ние про­ис­хо­дит от World Wide Web + get. wget име­ет мно­го осо­бен­но­стей, что дела­ет ее очень лег­кой зада­чей, когда речь идет о полу­че­нии боль­ших фай­лов, рекур­сив­ные загруз­ки, несколь­ко загру­зок фай­лов или зер­ка­ли­ро­ва­ние целых веб-сай­тов или FTP.

wget не явля­ет­ся интер­ак­тив­ным, что дает боль­шую гиб­кость при его исполь­зо­ва­нии. Она может быть вызва­на из сце­на­ри­ев, хро­на, тер­ми­на­лов и т.д. Она может рабо­тать в фоно­вом режи­ме, даже если поль­зо­ва­тель не вошел в систе­му. Это поз­во­ля­ет начать загруз­ку фай­ла и отклю­чить­ся от систе­мы, поз­во­ляя wget закон­чить работу.

В этой ста­тье мы про­де­мон­стри­ру­ем исполь­зо­ва­ние wget через несколь­ко прак­ти­че­ских при­ме­ров, кото­рые вы може­те исполь­зо­вать, что­бы выпол­нить неко­то­рые из наи­бо­лее рас­про­стра­нен­ных задач, таких как загруз­ка фай­лов или даже зер­каль­но­го отоб­ра­же­ния целых веб – сайтов.

Вход на сервер и установка wget

Пер­вый шаг, это вой­ти на сер­вер через SSH.

После того, как были уста­нов­ле­ны обнов­ле­ния, вы може­те уста­но­вить пакет про­грамм­но­го обес­пе­че­ние wget с помо­щью сле­ду­ю­щей команды:

 

После того, как уста­нов­ка будет завер­ше­на, вы може­те начать исполь­зо­вать коман­ду wget на сервере.

1. Команда wget для загрузки одного файла

Наи­бо­лее рас­про­стра­нен­ное и про­стое исполь­зо­ва­ние wget, это ска­чать один файл и сохра­нить его в теку­щем каталоге.

Напри­мер, что­бы загру­зить послед­нюю вер­сию WordPress мож­но исполь­зо­вать сле­ду­ю­щую команду:

 

Это вывод, кото­рый вы полу­чи­те во вре­мя загруз­ки файла:

 

Как вы може­те видеть, она так­же пока­зы­ва­ет про­гресс загруз­ки, теку­щую ско­рость загруз­ки, раз­мер, дату, вре­мя и имя файла.

В нашем слу­чае эта коман­да загру­зит файл и сохра­нит его в теку­щем ката­ло­ге под име­нем «latest.zip».

2. Команда wget для загрузки файла и сохранение его под другим именем

Вы може­те сохра­нить файл под дру­гим име­нем. Что­бы сде­лать это, вы може­те исполь­зо­вать опцию -O, как в этом примере:

 

Она загру­зит и сохра­нит послед­нюю уста­нов­ку WordPress в теку­щем ката­ло­ге под назва­ни­ем «wordpress.zip».

3. Команда wget для загрузки файла и сохранение его в определенном каталоге

Для того, что­бы загру­зить файл и сохра­нить его в дру­гом ката­ло­ге, вы може­те исполь­зо­вать опцию -P, напри­мер:

 

Она ска­ча­ет и сохра­нит файл в ката­ло­ге /opt/wordpress на сервере.

4. Команда wget, чтобы установить скорость загрузки

Если вы слу­чай­но загру­зи­те огром­ный файл, кото­рый зани­ма­ет боль­ше вре­ме­ни, чем необ­хо­ди­мо для пол­ной загруз­ке, вы може­те огра­ни­чить ско­рость загруз­ки для предот­вра­ще­ния wget с исполь­зо­ва­ни­ем пол­ной воз­мож­ной про­пуск­ной спо­соб­но­сти соединения.

Что­бы огра­ни­чить ско­рость загруз­ки, напри­мер до 300k, вы може­те исполь­зо­вать сле­ду­ю­щую команду:

5. Команда wget для продолжения прерванной загрузки

Ино­гда, когда вы загру­жа­е­те очень боль­шой файл, кото­рый будет зани­мать боль­ше вре­ме­ни для пол­но­го ска­чи­ва­ния, вы може­те вре­мен­но поте­рять под­клю­че­ние к Интер­не­ту и загруз­ка будет прервана.

Для того, что­бы избе­жать повтор­но­го запус­ка всей загруз­ки, вы може­те про­дол­жить, отку­да пре­ры­ва­лось ска­чи­ва­ние с помо­щью опции -c:

 

Если загруз­ка пре­рвет­ся, и вы начи­на­е­те все ска­чать сно­ва без опции -c, wget будет добав­лять «.1» до кон­ца фай­ла, так как имя фай­ла с преды­ду­щим име­нем уже существует.

6. Команда wget для загрузки в фоновом режиме

Для боль­ших фай­лов, вы так­же може­те исполь­зо­вать опцию -b, что­бы загру­зить файл в фоно­вом режиме.

 

Вывод будет запи­сан в фай­ле «wget-log» в том же ката­ло­ге, и вы все­гда може­те про­ве­рить ста­тус загруз­ки с помо­щью сле­ду­ю­щей команды:

7. Команда wget, увеличение повторных попыток

Если у вас воз­ник­ли про­бле­мы с под­клю­че­ни­ем к Интер­не­ту, и загруз­ка ста­но­вит­ся пре­рван­ной несколь­ко раз, вы може­те уве­ли­чить повтор­ные попыт­ки загру­зить файл с опции -tries:

8. Команда wget для загрузки нескольких файлов

Если вы хоти­те загру­зить несколь­ко фай­лов в одно и то же вре­мя, вы може­те создать тек­сто­вый файл (напри­мер download.txt), где раз­ме­стить все URL-адре­са фай­лов, кото­рые вы хоти­те загру­зить. Для созда­ния тек­сто­во­го фай­ла выпол­ни­те сле­ду­ю­щие действия:

 

После это­го вы може­те отре­дак­ти­ро­вать файл с nano и вве­сти все URL-адре­са всех фай­лов, кото­рые вы хоти­те загрузить:

 

После сохра­не­ния фай­ла, вы може­те исполь­зо­вать опцию -i, что­бы загру­зить все фай­лы, сохра­нен­ные в этом тек­сто­вом файле:

9. Команда wget для загрузки через FTP

Вы так­же може­те исполь­зо­вать wget для загруз­ки фай­ла непо­сред­ствен­но через FTP, исполь­зуя набор имя поль­зо­ва­те­ля и пароль, с помо­щью сле­ду­ю­щей команды:

10. Команда wget для скачивания всего сайта

Вы даже може­те исполь­зо­вать wget для загруз­ки все­го веб-сай­та, кото­рый вы може­те про­смат­ри­вать локаль­но, в авто­ном­ном режи­ме, без необ­хо­ди­мо­сти под­клю­че­ния к интер­не­ту. Для это­го мож­но исполь­зо­вать сле­ду­ю­щую команду:

 

С —mirror, вы вклю­чи­те все опции, необ­хо­ди­мые для зер­каль­но­го отображения.

С –convert-links, вы буде­те кон­вер­ти­ро­вать все ссыл­ки, так что они будут рабо­тать в авто­ном­ном режиме.

С –page-requisites, загру­зят­ся все необ­хо­ди­мые фай­лы, такие как таб­ли­цы сти­лей CSS и изоб­ра­же­ния, необ­хо­ди­мых для пра­виль­но­го отоб­ра­же­ния стра­ни­цы в авто­ном­ном режиме.

С –no-parent, вы може­те огра­ни­чить загруз­ку толь­ко к опре­де­лен­ной части сайта.

Кро­ме того, вы може­те уста­но­вить путь туда, куда мы хотим загру­зить фай­лы с помо­щью коман­ды -P, а затем путь к каталогу.