Для того, чтобы закачать файл на удалённый сервер есть масса способов. Пожалуй, самый безумный, который можно придумать, это вбить его ручками с клавиатуры, но это долго и мучительно. Самый распространённый способ — это залить файл на сервер с помошью ftp-клиента на удалённом компьютере. В этой статье рассмотрим утилиту wget
, которая позволяет скачивать файлы (и даже целые сайты) к себе на удалённый сервер. wget
чаще всего используется для закачки дистрибутивов или ключей из репозиториев на сервер с оперционкой семейства *nix.
Синтаксис и опции wget
Для детального ознакомления с утилитой wget нужно потратить массу времени. Поэтому проще всего вызвать помощь по ней непосредственно в консоли сервера и начать именно с этого:
root@server:~# wget -h
Если этого окажется мало, то можно почитать более подробный мануал:
root@server:~# man wget
Но для того, чтобы закачать дистрибутив на сервер потребуется всего лишь малая толика из этой лавины информации. Поэтому приведу лишь официальную информацию о синтаксисе вызова этой процедуры:
wget [option]... [URL]...
Загрузка файла на сервер linux командой wget
Рассмотрим самый простой случай. Есть дистрибутив Joomla, лежащий в официальном репозитории. Требуется его скачать для последующей установки.
- Заходим в нужную директорию у себя на сервере, куда нужно скачать этот дистрибутив
- Набираем команду:
wget https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
- Архив скачивается в ту папку, из которой произошёл вызов.
- Если файл по указанному адресу, то скачивание сопровождается подробной информацией (вплоть до статус-бара, показывающего в режиме реального времени того, сколько процентов скачено):
root@amorale:~# wget https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip --2019-05-17 23:46:28-- https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip Resolving downloads.joomla.org (downloads.joomla.org)... 72.29.124.146 Connecting to downloads.joomla.org (downloads.joomla.org)|72.29.124.146|:443... connected. HTTP request sent, awaiting response... 303 See Other Location: https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.6-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190517%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190517T204621Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=6a16c05547e770b6665bb7f5670f60acccc113712478c45fb05b23890b1cb958 [following] --2019-05-17 23:46:30-- https://s3-us-west-2.amazonaws.com/joomla-official-downloads/joomladownloads/joomla3/Joomla_3.9.6-Stable-Full_Package.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIZ6S3Q3YQHG57ZRA%2F20190517%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20190517T204621Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=6a16c05547e770b6665bb7f5670f60acccc113712478c45fb05b23890b1cb958 Resolving s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)... 52.218.248.8 Connecting to s3-us-west-2.amazonaws.com (s3-us-west-2.amazonaws.com)|52.218.248.8|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 13931139 (13M) [application/zip] Saving to: ‘Joomla_3-9-6-Stable-Full_Package.zip’ Joomla_3-9-6-Stable-Full_Package.zip 100%[====================================================================================>] 13.29M 4.06MB/s in 3.3s 2019-05-17 23:46:34 (4.06 MB/s) - ‘Joomla_3-9-6-Stable-Full_Package.zip’ saved [13931139/13931139]
Как загрузить файл на сервер linux с другим именем с помощью утилиты wget
с опцией -O
Файлы, лежащие в удалённых хранилищах могут иметь названия, которые хочется поменять для того, чтобы они лежали у себя на сервере под другими именами. Можно конечно сперва скачать файл на сервер так, как показано в примере выше, а потом переименовать его, но wget
позволяет сохранять загружаемые файлы и сразу присваивать им те имена, которые требуются, например:
wget -O joomla.zip https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
- Где:
wget
– вызов утилитыwget
-O
— опция, которая служит указанием того, что скачиваемому файлу требуется задать другое имяjoomla.zip
— имя файла, под которым он будет сохранён после скачиванияJoomla_3-9-6-Stable-Full_Package.zip
— изначальное имя файла, которое было бы использовано, не примени мы опцию-O
утилитыwget
Указание пути сохранения скачиваемого утилитой wget
файла с помощью опции -P
Ну и последнее, что рассмотрим в этой статье, это то, как сохранить файл с помощью утилиты wget
с удалённого места на сервер с указанием пути, по которому его нужно сохранить. Этого можно достичь, применив опцию -P
в следующем формате:
wget -P ~/Downloads/ https://downloads.joomla.org/cms/joomla3/3-9-6/Joomla_3-9-6-Stable-Full_Package.zip
- Где
-P
– опция, которая служит для указания того, что будет указан путь, по которому должно произойти сохранение скачиваемого файла- примечательным служит то, что если указанных папок на сервере на момент сохранения нет, то они будут созданы
~/Downloads/
– путь для сохранения скачиваемого файла (он может быть как абсолютным так и относительным)- ну и через пробел – указание того, откуда качаем файл
Резюме
Таким образом утилитой wget
можно скачать и сохранить файл в нужном месте на сервере с нужным именем. Остальные опции мне пока не нужны. =)
Пример использования в видео-инструкции:
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)