我使用以下命令设置lftp命令的超时,以便在服务器不可用或不接受任何新连接时,命令在10秒后结束。
lftp -e 'set ftp:passive-mode true; set net:timeout 10; cd /OUT; mput $filename; bye' -u mylftpuser,mypassword myhost.com
但是,超时似乎不起作用。当我在命令提示符下运行上面的命令时,它会在30秒后重试连接,45秒.60秒......并且永远不会结束。
我在这里做错了吗?
感谢。
答案 0 :(得分:10)
当我使用时,我遇到了同样的问题,超时无效:
lftp -e "set net:timeout 5" -u user,pwd server
我删除了-e "set..."
部分并仅使用lftp -u user,pwd server
,命令会将其插入〜/ .lftp / rc 文件中:
cat ~/.lftp/rc
set net:timeout 5
set net:max-retries 2
set net:reconnect-interval-base 5
现在这对我来说很好。
答案 1 :(得分:8)
代替net:timeout 10
,试试这个:
set net:reconnect-interval-base 5; set net:max-retries 2;
答案 2 :(得分:7)
这是因为net:max-retries 1000
的默认值很高,是:
没有操作的最大连续尝试次数 成功。 0表示无限制。 1表示不重试。
将其(在您的 〜/ .lftp 配置文件中)更改为5,这样你就可以了。