Copias exactas por FTP utilizando lftp y la orden mirror

Publicado el en la categoría Aplicaciones, Linux

LFTP es un programa de transferencia de archivos y que nos permite realizar sofisticadas conexiones de varios tipos como ftp, ftps, http, https, hftp, fish, sftp y file. Para utilizar un método u otro, deberemos especificarlo al realizar la conexión.

Si utilizamos lftp junto con la orden mirror, podemos transferir todo el contenido de nuestro servidor, de una sola vez y con un único comando a local. O bien, podemos realizar el paso inverso, es decir, volcar el contenido completo de local al servidor de internet (con el modificador -R, como veremos).

Para acceder al servidor escribiremos en el terminal:

lftp ftp.midominio.com

A continuación los datos de acceso de ftp (escribimos user y el nombre de usuario y se nos solicitará la contraseña).

Finalmente escribiremos la orden mirror siguiendo el patrón:

mirror [OPCIONES] [origen [destino]]

Se pueden omitir las rutas y así se utilizarán las “por defecto”. Además, la orden mirror cuenta con una serie de modificadores que nos permiten realizar multitud de operaciones:

-c  –continue  continua una tarea de transferencia, si es posible.
-e  –delete  elimina archivos no presentes en el sitio remoto
–delete-first  elimina los archivos antiguos antes de transferir los nuevos
–depth-first  desciende a los subdirectorios antes de transferir archivos
-s  –allow-suid  configura los bits suid/sgid de acuerdo con el sitio remoto
–allow-chown  prueba de configurar propietario y grupo en los archivos
–ascii  utilizar el modo ascii en la transferencia (implica –ignore-size)
–ignore-time  ignora tiempo si se está bajando
–ignore-size  ignora tamaño si se está bajando
–only-missing  baja solo archivos extraviados
–only-exiting  baja solo archivos existentes en el directorio destino
-n  –only-newer  baja solo nuevos archivos (no puede usarse con -c)
–no-empty-dirs  no crea en destino directorios vacios ( implica –depth-first)
-r  –no-recursion  no va a los subdirectorios
–no-symlinks  no crea enlaces simbólicos
-p  –no-perms  no configura los permisos de archivo
–no-umask  no aplica umask
-R –reverse  cambia mirror al modo “reverse mirror”: sube directorios
-L  –dereference  baja los enlaces simbólicos como archivos
-N  –newer-than=SPEC  baja solo archivos posteriores a la fecha(tiempo) especificada(o)(SPEC)
–on-change=CMD  ejecuta el comando especificado (CMD), si algo ha cambiado
–older-than=SPEC  baja solo archivos anteriores a la fecha(tiempo) especificada(o)(SPEC)
–size-range=RANGE  baja solo archivos cuyo tamaño se encuentre en el rango especficado (RANGE)
-P  –parallel[=Nbaja N archivos en paralelo
–use-pget[-n=N]  usar pget para transferir cada archivo individual
–loop  loop hasta que no se encuentren cambios
-i RX   –include RX  incluir archivos que coincidan con la expresión regular (RX)
-x RX –exclude RX  exluir archivos que coincidan con la expresión regular (RX)
-I GP –include-glob GP  incluir archivos que coincidan con el patrón global (GP)
-X GP –exclude-glob GP  excluir archivos que coincidan con el patrón global (GP)
-v –verbose[=level]  operación en modo “verboso”
–log=FILE  escribe los comandos lftp ejecutados en el archivo especificado (FILE)
–script=FILE  escribe los comandos lftp en el archivo especificado (FILE), pero no ejecutarlos
–use-cache  usar los listados del directorio cache
–Remove-source-files  eliminar los archivos origen después de su transferencia (¡usar con precaución!)

Facebooktwittergoogle_plus