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 в командной строке для просмотра.