Ejemplos de uso del comando Wget

Actualizado el miércoles, 8 noviembre, 2017

Comando wget. En anteriores artículos ya hablamos del comando wget, hoy pondremos unos ejemplos prácticos de uso, para que realmente conozcas el potencial de este comando.

Wget es una utilidad que podemos usar con HTTP, HTTPS y FTP, que son los protocolos de Internet más utilizados.

Su nombre viene de World Wide Web + get. Es realmente bueno a la hora de descargar archivos gran tamaño, descargas recursivas, múltiples descargas de archivos o simplemente para duplicar sitios web o FTP completos.

No es interactivo, por tanto la flexibilidad de su uso es excelente, lo puedes invocar desde scripts, tareas cron, terminales, etc. Incluso funciona en segundo plano, aunque el usuario no está conectado. Como ves es una herramienta realmente útil.

Ejemplos de uso del comando Wget 1

 

Usos del comando Wget

 

No todas las distribuciones linux tienen wget instalado por defecto, por tanto lo instalamos.

Debian, Ubuntu y derivados:

apt-get install wget

Rhel, Centos y derivados:
yum install wget

OpenSuse:
zypper install wget

 

Una vez instalado, podemos comenzar a hacer uso de el. En el ejemplo descargaremos el cms de wordpress.org.es.

wget https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

ejemplo de salida:
--2017-10-26 11:44:02--  https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz
Resolviendo es.wordpress.org (es.wordpress.org)... 66.155.40.250, 66.155.40.249
Conectando con es.wordpress.org (es.wordpress.org)[66.155.40.250]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 8654919 (8,3M) [application/octet-stream]
Grabando a: “wordpress-4.8.2-es_ES.tar.gz”

100%[======================================>] 8.654.919   1,00MB/s   en 7,4s   

2017-10-26 11:44:10 (1,11 MB/s) - “wordpress-4.8.2-es_ES.tar.gz” guardado [8654919/8654919]

Como puedes ver nos muestra, el progreso, fecha, hora, etc…

 

Ahora lo descargaremos pero modificando en nombre, de manera que cuando descargue se modifique el nombre en destino. Agregamos la extensión:

-O

Descargamos.
wget -O worps.tar.gz https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

ejemplo de salida:
--2017-10-26 11:51:48--  https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz
Resolviendo es.wordpress.org (es.wordpress.org)... 66.155.40.250, 66.155.40.249
Conectando con es.wordpress.org (es.wordpress.org)[66.155.40.250]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 8654919 (8,3M) [application/octet-stream]
Grabando a: “worps.tar.gz”

100%[======================================>] 8.654.919    850KB/s   en 11s    

2017-10-26 11:51:59 (795 KB/s) - “worps.tar.gz” guardado [8654919/8654919]

Como ves el archivo a cambiado el nombre… worps.tar.gz.

 

En este caso lo guardaremos en un directorio o carpeta especifico. Usaremos el comando -P.

wget -P /opt/miweb https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

 

En comando wget, también nos ofrece la posibilidad de limitar la velocidad de descarga, interesante su uso si tienes una conexión lenta. En el ejemplo limitamos a 256k.

wget --limit-rate=256k https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

ejemplo de salida:
--2017-10-26 11:59:52--  https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz
Resolviendo es.wordpress.org (es.wordpress.org)... 66.155.40.249, 66.155.40.250
Conectando con es.wordpress.org (es.wordpress.org)[66.155.40.249]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 8654919 (8,3M) [application/octet-stream]
Grabando a: “wordpress-4.8.2-es_ES.tar.gz.1”

100%[======================================>] 8.654.919    262KB/s   en 33s    

2017-10-26 12:00:26 (255 KB/s) - “wordpress-4.8.2-es_ES.tar.gz.1” guardado [8654919/8654919]

Como ves en la leyenda, el archivo tardo bastante más en descargar.

 

Para evitar que se interrumpa la descarga por cortes o errores de conexión, podemos usar la extensión -c.

wget -c https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

 

Para descargar archivos de gran tamaño es recomendable que realices las descargas en segundo plano. Usaremos la extensión -b.

wget -b https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

Como ves… aquí la salida es diferente:
linux-ser:/home/sergio # wget -b https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz
Continuando en segundo plano, pid 5532.
La salida será escrita a “wget-log”.

Lo que nos indica el mensaje anterior, es que la salida se escribirá en el archivo «wget-log» en el mismo directorio de la descarga. Podemos verificar el estado de la descarga con el siguiente comando:
tail -f wget-log

ejemplo de log:
tail -f wget-log
  8150K .......... .......... .......... .......... .......... 97% 1,17M 0s
  8200K .......... .......... .......... .......... .......... 97%  431K 0s
  8250K .......... .......... .......... .......... .......... 98%  693K 0s
  8300K .......... .......... .......... .......... .......... 98% 1,11M 0s
  8350K .......... .......... .......... .......... .......... 99%  376K 0s
  8400K .......... .......... .......... .......... .......... 99% 1,71M 0s
  8450K ..                                                    100% 22,6M=12s

2017-10-26 12:09:59 (711 KB/s) - “wordpress-4.8.2-es_ES.tar.gz” guardado [8654919/8654919]

 

Si tienes problemas con tu conexión a Internet puedes usar -tries, para que lo siga reintentando. En el ejemplo 150 reintentos.

wget -tries=150 https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz

 

Creando un archivo para descargar varios archivos.

touch descargas.txt

Una vez creado editamos el archivo con nano:
nano descargas.txt

agregamos los archivos a descargar…
https://es.wordpress.org/wordpress-4.8.2-es_ES.tar.gz
https://es.wordpress.org/wordpress-4.8.2-es_ES.zip
https://downloads.wordpress.org/theme/twentyseventeen.1.3.zip
https://downloads.wordpress.org/theme/twentyeleven.2.6.zip
https://downloads.wordpress.org/theme/colormag.1.2.2.zip

guardamos y cerramos nano.

Descargamos todos los archivos de descargas.txt con la opción -i.

wget -i descargas.txt

 

Usando wget con FTP.

wget --ftp-user=usuario --ftp-password=password ftp://url-del-archivo

 

Descargar una pagina web completa. Este apartado ya lo explicamos en un anterior articulo, de todas formas lo repetimos.

wget --recursive --no-clobber --page-requisites --html-extension --convert-links --domains MIPAGE.es --no-parent 

Explicación:
  • –recursive indica que de forma recursiva profundice en el árbol de directorios del sitio remoto.
  • –no-clobber evita re-descargar archivos que ya se hubieran descargado. Lo usamos por si has intentado una primera vez, se ha descargado parte del sitio, y por alguna razón se ha interrumpido y vuelves a lanzar la descarga.
  • –page-requisites, descarga absolutamente todo lo que necesite cada página: imágenes, CSS, etc… .
  • –html-extension, convierte todas las extensiones de fichero a .html. En clave, porque puede contener páginas .asp, php, etc… que en local no podríamos explorar gráficamente.
  • –convert-links, convierte los enlaces a fichero local, de modo que pueda navegar por todos los hipervínculos de forma local, offline.
  • –domains XXX, para que no descargue nada que se salga de este dominio, es decir, algún enlace que apunte a otra página fuera de www.MIPAGE.es.
  • –no-parent, para que no suba a los niveles superiores, sino que solo interesa lo que cuelga de la URL bajo la carpeta xml, no hacia arriba (en caso de que solo quisieras descargar por ejemplo www.MIPAGE.es/archivo/).
  • y al final, la URL de comienzo de descarga.

 

Como puedes ver las posibilidades de wget son inmensas, recuerda hacer un uso constructivo de el.

Agregar comentario