lunes, noviembre 29, 2010

Linux Comando LFTP

Tomado de:
Comando LFTP

lftp: (0.05)
 Potente cliente de ftp de modo comando: subiendo páginas web


POR HACER:
Usar ~/.netrc para guardar password y no ponerlo en linea de comandos (se puede
 ver el password haciendo un ps -fax)


CONFIGURACION:

Para utilizar siempre FTP en modo "pasivo" para uso con cortafuegos:

1) Editar /etc/lftp.conf
2) Descomentar la linea "passive-mode":
 ...
 ## if you are behind a firewall, try this:
 set ftp:passive-mode on
 ...


Para evitar reintentos infinitos en un script automático (si falla el servidor):

1) Añadir a /etc/lftp.conf lo siguiente:

# LIMITES DE TIEMPO (TIMEOUTS) Y REINTENTOS
    # VALORES POR DEFECTO (lftp versión 981023 slink)
set ftp:max-retries 10  #   0 = reintentos indefinidos
set ftp:redial-interval 30 #  30 segundos entre reconexiones
set ftp:timeout 60  # 600 segundos de limite de protocolo de red
set ftp:idle 180  # 180 segundos para desconexión por inactividad
set dns:timeout 180  #   0 (sin limite) s. de limite resolución DNS 
 
Personalmente probe con estos comandos pero no me funcionaron, modifique lo siguiente y tuve respuestas 
positivas.
set net:max:retries 10  
 
 
SUBIENDO PAGINAS WEB A TU PROVEEDOR:
1) Hacer un script con:

ATENCION->PROBLEMA!!! el password es visible con un "ps ax"

lftp -c 'open site; user nombre password; \
 lcd /home/manel/WEB; cd htdocs; mirror -Rev'

 - Cuando la conexión se corta se reestablece automáticamente (lftp)
 - Solo sube los archivos que han cambiado (mirror -R)
 - Borra los archivos que ya no están en local (mirror -e)
 - Que nos de más información si hay errores (mirror -v)

2) Cambiar los permisos del script para que solo pueda leerlo el propietario
 (para evitar que otros usuarios te lean la contraseña)

Mas ayuda en "man lftp"


BUG QUE LE HE ENCONTRADO:
"mirror -Re" si has borrado o movido un directorio entero con todo su
 contenido, no lo borra en el remoto, ni el contenido tampoco, aunque por
 lo menos te avisa.
Rodeo:
1) Borrar todo el contenido del directorio primero dejandolo vacio.
2) En otra actualización posterior borrar el directorio.


MOTIVO DE USAR MODO PASIVO:
Por defecto lftp trabaja en modo "puerto":
 El site FTP intentará establecer una  conexión con nosotros desde
 su puerto 20 (ftp-data) a un puerto alto nuestro (>1024) al solicitarle
 cualquier transferencia.
Esos intentos de conexión no pasarán un cortafuegos.

En modo pasivo los datos son enviados en la misma conexión en curso, no hay
 problemas con el cortafuegos.

No hay comentarios: