Puedes conectarte a un equipo remoto mediante FTP para descargar todo su contenido, por ejemplo para migrar una web o recuperar un backup hacia tu VPS.
Para ello usamos lftp y su comando mirror, que replica de forma recursiva el contenido remoto en un directorio local.
Si no tienes lftp instalado: apt install lftp -y (Debian/Ubuntu) o yum install lftp -y (RHEL/CentOS).
Este sería el script (sustituye los valores de host, login, contraseña y destino por los tuyos):
#!/bin/bash
export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
FTP_HOST='IP.Servidor.Remoto'
FTP_USER='Login'
FTP_PASS='Pass'
BackupDestination='/home/backup'
lftp -e "set ftp:ssl-allow no" << EOF
open ${FTP_HOST}
user ${FTP_USER} ${FTP_PASS}
mirror -e . ${BackupDestination}
bye
EOF
Notas:
mirror -eborra en destino los ficheros que ya no existan en el origen (espejo exacto). Quita la opción-esi prefieres conservar lo ya descargado.set ftp:ssl-allow nodesactiva TLS; elimínala si el servidor remoto admite FTPS para que la transferencia vaya cifrada.- Puedes guardar el script (p. ej.
import-ftp.sh), darle permisos conchmod +x import-ftp.shy ejecutarlo dentro descreenotmuxsi la descarga va a tardar.