Статьи

Использование WGET

Wget — это полезная утилита для систем Linux и Mac OS X, которая может пригодиться администраторам веб-систем.

Wget — находится на сайте GNU.org — это приложение командной строки для поиска файлов по соединениям ftp, http и https.

Я считаю это полезным для загрузки файлов непосредственно на сервер, на котором я работаю в сеансе оболочки, экономя время вместо загрузки на локальный рабочий стол и загрузки. Кроме того, поскольку он может передавать имена пользователей и пароли, он эффективен для использования при миграции веб-сайтов, настройке зеркальных сайтов и многого другого.

Наконец, Wget может быть запланирован с использованием cron, поэтому, если файл или каталоги необходимо регулярно реплицировать, его можно настроить без вмешательства администратора.

Несколько полезных примеров использования Wget:

1) Загрузка удаленного файла. Возможно, вы загружаете обновление для приложения и получили адрес URL. В этом случае вы можете использовать либо ftp, либо http для получения:


wget http://somedomain.com/public/remotefilename.tar.gz
or wget ftp://somedomain.com/public/remotefilename.tar.gz

Wget over ftp по умолчанию является бинарным (режим i на ftp lingo), однако, если вам нужно использовать режим ascii, вы просто добавляете ‘; type = a’ (без кавычек) в конец приведенного выше примера ftp url.

2) Загрузка с аутентификацией — возможно, вы обновляете зарегистрированное приложение, требующее ввода имени пользователя и пароля. Измените синтаксис, как показано ниже:


wget username:password@http://somedomain.com/reg/remotefilename.tar.gz
or wget username:password@ftp://somedomain.com/reg/remotefilename.tar.gz

3) Вставка пользовательских портов в запрос wget — возможно, для вашей загрузки потребуется специальный порт вместе с аутентификацией. Wget легко справляется и с этим, вставляя двоеточие и номер порта после хоста и перед / path к файлу (файлам):


wget username:password@http://somedomain.com:portnumber/reg/remotefilename.tar.gz
or wget username:password@ftp://somedomain.com:portnumber/reg/remotefilename.tar.gz

4) Также можно перенести целые каталоги с одного сервера на другой, т. Е. Перенести веб-сайт на новое оборудование. Я обнаружил, что FTP-доступ является наиболее эффективным для этого. Я также использую ведение журнала (опция -o), необходим перенос в отладке событий или проверку получения файла, и использую рекурсивную опцию (-r) для воссоздания структуры каталогов на новом сервере.

Так что, если я переезжаю mydomain.com — я бы использовал:


wget -o mylogfile -r myuser:mypass@ftp://mydomain.com/

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

Есть несколько других интересных и полезных опций, включая:

–Passive-ftp: для использования wget за брандмауэрами

-nd: не воссоздает структуру каталогов на удаленном компьютере, а просто сохраняет все извлеченные файлы в текущем локальном каталоге.

–Cookies = вкл / выкл: если удаленный сайт требует, чтобы файлы cookie были включены или выключены для удаления файлов (иногда полезно при аутентификации)

–Retr-symlinks: извлекает файлы, на которые указывают символические ссылки.

В Wget есть несколько других мощных функций, и, к счастью, прилагаемое руководство предлагает отличные примеры. Просто запустите man wget в командной строке для просмотра.