FTP recursivo, ¿cómo descargar un ftp completo desde linea de comandos?

Backup, General, Servidores, Shell, Unix Añadir comentario

En determinadas ocasiones surge la necesidad de descargar archivos de un ftp de forma recursiva en un servidor o en nuestro pc, y no tenemos un cliente de ftp a mano. La primera opción sería conectarse por ftp y usar mget, pero ésto no nos sirve porque no funciona recursivamente. Algunos servidores de ftp permiten el comando recursive mget, pero son los menos.

Entonces, ¿qué hacemos si queremos descargar en nuestro equipo o en nuestro servidor un ftp completo y no contamos con un cliente que no sea el típico ftp de toda la vida?.

La solución está en nuestro queridisimo WGET.

wget -r -m --follow-ftp -T {timeout_en_segundos} -c "ftp://usuario:password@host.dominio[/ruta]"

(Nota: los parámetros entre corchetes son opcionales y entre llaves, obligatorios).

Éste comando nos permitirá descargar un ftp completo de forma muy sencillita, y nos queda tiempo para irnos a tomar un café mientras tanto :)

Como siempre, podemos lanzarlo en segundo plano si preveemos que sea una tarea muy extensa:

nohup wget -r -m --follow-ftp -T [timeout_en_segundos] -c "ftp://usuario:password@host.dominio/ruta" &

Una vez terminado, wget nos habrá descargado el contenido completo del ftp. Junto con ello, nos habrá descargado también una serie de archivos .listing que contienen un listado de cada directorio que ha descargado. Podemos eliminar esos archivos fácilmente con:

find . -name ".listing" | xargs rm -rf

Ojo: Usar con cuidado, aseguraos que estais en el directorio correcto porque éste comando no pide confirmación al eliminar archivos.

Espero que os sea de utilidad, yo lo uso muy a menudo.

¿Tienes dudas, preguntas o comentarios?.

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Iniciar sesión