Obtención de archivos con wget

Tal vez su servidor X se ha estrellado. O estás trabajando en un script de shell. O eres SSHed en un servidor sin cabeza. Por una razón u otra, si necesita obtener un archivo y un navegador web no es una opción, es posible que desee buscar en wget. Si ha usado mucho el shell de Linux y ha trabajado con scripts o instaladores de paquetes, es muy probable que haya visto wget en acción. En el nivel más simple, hace exactamente lo que el nombre implica y obtiene un archivo de la web (o FTP). Debajo de eso, sin embargo, hay alguna funcionalidad inteligente.

Lo básico

Como se mencionó anteriormente, wget se usa más comúnmente para tomar rápidamente un archivo de algún lugar de la web.

wget http://mydomain.com/file.zip

Lo que simplemente tomaría el archivo y lo guardaría en el directorio actual.

Si desea guardar en un nombre de archivo diferente o en una ubicación diferente, utilice el indicador -O.

Obtención de archivos con wget

Es posible que esté descargando varios archivos, en cuyo caso es posible que desee especificar una ubicación para todas las descargas. Simplemente use la bandera -P (o -directory-prefix=LOCATION ) para especificar adónde van.

Como puedes ver, eso es mucha producción. Probemos la opción -q para limpiarlo, haciéndolo más adecuado para scripts.

wget -q http://mydomain.com/file.zip

Obtención de archivos con wget

De forma similar, puede utilizar la opción -nv para una salida pequeña , pero no tanto como la predeterminada.

Cosas lujosas

¿Qué sucede si la descarga falla y desea reanudarla? ¿Qué sucede si el archivo ya existe y no desea sobrescribirlo? Hay opciones para manejar estas y otras situaciones.

Para reanudar una descarga interrumpida, utilice la bandera -c (o -continue )

Si necesita asegurarse de que su comando (o script) no sobrescribe ningún archivo existente, use la opción -nc (para no-clobber)

Obtención de archivos con wget

Hay ocasiones en las que no puede estar seguro de que los nombres de archivo distingan entre mayúsculas y minúsculas en ambos extremos, pero el indicador -ignore-case negará ese problema.

Para limitar la velocidad de descarga, utilice la opción -limit-rate=RATE, como se muestra a continuación.

wget --limit-rate=20000 http://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso

Obtención de archivos con wget

Opciones de FTP

Como se mencionó anteriormente, wget también soporta FTP. Si sólo especifica un sitio FTP, como

wget ftp://ftp.us.debian.org/debian-cd/5.0.7/amd64/iso-cd/debian-507-amd64-netinst.iso

wget asumirá que desea un inicio de sesión anónimo. Si no es así, puede especificar manualmente cosas como el nombre de usuario y la contraseña con los siguientes indicadores:

  • -Especifica el nombre de usuario para el inicio de sesión
  • -ftp-password=PASS Especifica contraseña
  • -Desactiva el modo de transferencia pasiva.

Así como algunos otros para casos de uso avanzado.

Tiempos de espera, reintentos y descargas fallidas

Finalmente, wget viene con varias opciones relacionadas con problemas de conexión al servidor y tiempos de espera. No todas las fallas pueden ser tratadas, por supuesto, pero las siguientes banderas están pensadas para ayudar a tratar con los problemas del servidor:

  • -tries=NUMBER Especifique el número de veces que desea volver a intentar la descarga
  • -retry-connrefused Retry download incluso si la conexión es rechazada por el servidor.
  • -Continuar Reanuda una descarga incompleta, usada como -c arriba
  • -timeout=SECONDS Ajuste global – cuánto tiempo esperar antes de los timeouts
  • -wait=SECONDS Cuánto tiempo debe esperar entre descargas exitosas (si se repite)

Conclusión

Para una utilidad tan simple, básica e integrada, wget tiene una cantidad sorprendente que ofrecer. La próxima vez que se encuentre escribiendo un script de shell con conexión a Internet, o necesitando obtener ese archivo de controlador que falta en su computadora rota, dele una oportunidad a wget. Si tienes alguna historia interesante sobre cómo wget te ha sacado de un apuro, háznoslo saber en los comentarios de abajo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *