12 comandos lftp para administrar archivos con ejemplos
Hoy vamos a instalar LFTP, que es un cliente FTP de línea de comandos. LFTP admite muchos protocolos además de FTP, como HTTP, HTTPS, HFTP, FISH, FTPS y FXP. Es compatible con directorios de espejo y puede tener comandos ingresados en dos modos.
LFTP funciona en la línea de comandos o directamente desde el shell bash. El shell Bash es particularmente útil si va a escribir un script que use LFTP.
Configuración del servidor FTP
Dado que LFTP es un cliente FTP, para trabajar con él necesitaríamos tener alguna configuración de servidor FTP. Así que configuremos un servidor FTP básico que usaremos para nuestra demostración de las características de LFTP. El servidor ftp simple en Ubuntu es vsftpd, y lo vamos a instalar desde repositorios
sudo apt install vsftpd
Una vez instalado, debemos permitir que los usuarios escriban en el servidor. De forma predeterminada, el servidor FTP es de solo lectura.
sed -i.orig 's/#write_enable=YES/write_enable=YES/g' /etc/vsftpd.conf
Dado que cambiamos el archivo de configuración, necesitamos reiniciar el servidor
systemctl restart vsftpd
Verifique el estado para ver si el demonio del servidor se está ejecutando
sudo systemctl status vsftpd
Usando LFTP para conectarse al servidor FTP
Pasando ahora a otra computadora, VM o servidor. En el que instalaremos LFTP y nos conectaremos al servidor FTP. LFTP también está presente en los repositorios de Ubuntu, así que consigámoslo.
sudo apt-get install lftp
Antes de conectarnos al servidor FTP, hagamos un directorio desde donde nos conectaremos
miki@ThinkPad-X220T:~$ mkdir ftp miki@ThinkPad-X220T:~$ cd ftp/
y rellénelo con algunos archivos para trabajar
miki@ThinkPad-X220T:~/ftp$ touch test{1..9}
Ahora podemos usar lftp para conectarnos al servidor FTP.
lftp ftp://miki@192.168.122.65 Password:
Ingrese la contraseña de su usuario y estará dentro. Como estaba en el directorio ftp cuando hice la conexión FTP, el directorio local de trabajo en el cliente es ~ / ftp. El primer comando que intentaremos es cargar un archivo al servidor ftp
1. Poner comando
Este comando toma un archivo del directorio local y lo carga al servidor. Subiremos el archivo test1.
lftp miki@192.168.122.65:~> put test1
2. Enumere el contenido del directorio remoto
Podemos comprobar lo que se ha hecho con el comando ls.
lftp miki@192.168.122.65:~> ls -rw------- 1 1000 1000 0 Dec 01 12:13 test1
Vemos que ese archivo se ha copiado al servidor FTP.
3. Duplicación inversa del directorio
Si queremos reflejar todo el directorio en el servidor, usaremos el comando de espejo inverso.
lftp miki@192.168.122.65:~> mirror -R
Esto copiará el contenido de nuestro directorio local al servidor. El proceso opuesto es sin -R
. Cuando no agregamos ninguna ruta a los archivos, se utilizan los directorios locales y remotos actuales. Ese es en nuestro caso ~ / ftp y ~ /.
4. Cambiar el directorio local
El directorio local se puede cambiar con el comando lcd
lftp miki@192.168.122.65:~> lcd /home/miki/Videos/ lcd ok, local cwd=/home/miki/Videos
5. Imprima el directorio de trabajo local
Puede verificar cuál es su directorio de trabajo local con el comando lpwd
lftp miki@192.168.122.65:~> lpwd /home/miki/Videos
6. Reanudación de la duplicación después de la interrupción
LFTP permite reanudar la transferencia de archivos si se interrumpe. Después de la interrupción, continúa repitiendo el comando agregando -c
bandera, que significa continuación.
^C Interrupt lftp miki@192.168.122.65:~> mirror -R -c
7. Descarga del archivo del servidor ftp
La descarga de archivos desde el directorio remoto al directorio local se realiza con el comando pget
lftp miki@192.168.122.65:~> pget ubuntu-16.04.1-server-amd64.iso
8. Duplicación del servidor al directorio local
Anteriormente mostramos cómo hacer lo contrario, ahora usamos el comando espejo para obtener datos extraídos del servidor
mirror
Es simple, solo espejo.
9. Duplicación con directorios arbitrarios
También puede reflejar con los datos que no están en el directorio local de trabajo, por ejemplo, con dicho comando:
mirror . /home/miki/Videos/
Esto extraerá datos del directorio de trabajo de los servidores (. Es la primera ruta, por lo que es el directorio actual) a ~ / Videos en nuestra máquina local. No importa si no usamos lcd para movernos a ~ / Vidoes, el pull funcionará.
10. Salir del caparazón
El comando para salir del shell lftp es adiós. Esto es importante si va a realizar un script de las operaciones lftp.
11. Uso de comandos LFTP como parte del script
Después de salir del LFTP, veamos cómo podemos usar los comandos anteriores sin iniciar sesión en el servidor ftp. De esa manera, puede incrustarlo en el script bash.
miki@ThinkPad-X220T:~$ lftp -e 'mirror /home/miki/ /home/miki/Videos/' -u miki,password ftp://192.168.122.65
12. Duplicación del sitio
El lftp también puede usar el protocolo HTTP, lo que lo hace adecuado para descargar un sitio web normal.
miki@ThinkPad-X220T:~$ lftp -e "mirror -c" http://linoxide.com/
Conclusión
Hemos revisado todos los comandos necesarios para utilizar LFTP con éxito. Puede usarlo para muchas tareas, como compartir archivos en sus dos computadoras, hacer copias de seguridad de su servidor periódicamente o hacer copias de seguridad de algún sitio de Internet que le guste. Esto es todo por este tutorial, gracias por leer y que tengas un buen día.