En ocasiones se hace necesario descargarse un sitio remoto completo con FTP. Lo ideal es usar Rsync, pero no siempre es posible, y solo disponemos de acceso FTP.
Principalmente si el sitio es grande, podemos usar el comando wget en línea de comandos para descargar el sitio completo de manera recusrsiva.
Por ejemplo:
$wget -r -l 0 -P /home/usuario_local ftp://ftp.host.com/httpdocs --ftp-user=user_web --ftp-password=xxx
Nos traería el sitio completo definido por el host y directorio 'ftp.host.com/httpdocs' al directorio local '/home/usuario_local':
-r incdica que nos traemos los directorio recursivamente.
-l No ponemos límite a la recursión (ojo, por defecto son 5 niveles, si no se especifica -l)
Otro ejemplo mas avanzado:
wget -r -l 0 -P /home/usuario_local ftp://ftp.host.com --ftp-user=user_web --ftp-password=-xxx --output-file=log.txt &
Aquí, además de desligarlo del terminal, sacamos la salida estándar a un fichero de log, de manera, que nos podemos dejar la descarga de manera autónoma, usando $tail -f log.txt cuando queramos ver la actividad del mismo.