2011-06-13 21 views
9

Estoy usando el siguiente comando para establecer el tiempo de espera del comando lftp de modo que si el servidor no está disponible o no acepta ninguna conexión nueva, el comando finaliza después de 10 segundos.lftp timeout no funciona

lftp -e 'set ftp:passive-mode true; set net:timeout 10; cd /OUT; mput $filename; bye' -u mylftpuser,mypassword myhost.com 

Sin embargo, el tiempo de espera no parece funcionar. Cuando ejecuto el comando anterior en el símbolo del sistema, vuelve a intentar la conexión después de 30 segundos, 45 segundos ... 60 segundos ... y nunca termina.

¿Estoy haciendo algo mal aquí?

Gracias.

Respuesta

7

En lugar de net:timeout 10, intente esto:

set net:reconnect-interval-base 5; set net:max-retries 2; 
7

tuve el mismo problema con el tiempo de espera no funciona cuando utilicé:

lftp -e "set net:timeout 5" -u user,pwd server 

He quitado la parte -e "set..." y utilizar sólo lftp -u user,pwd server y la comandos insertarlo en ~/.lftp/rc file:

cat ~/.lftp/rc 
set net:timeout 5 
set net:max-retries 2 
set net:reconnect-interval-base 5 

Esto funciona bien para mí ahora.

5

Es debido a la muy alta por defecto de net:max-retries 1000 que es:

el número máximo de intentos secuenciales de una operación sin éxito. 0 significa ilimitado. 1 significa que no hay reintentos.

cambio ella (en su archivo ~/.lftp config) a algo así como 5 y ya está bueno para ir.