在Unix Shell Scripting中,当活动连接未传输数据时,停止SFTP / FTP连接

时间:2016-04-26 20:11:44

标签: shell unix ftp connection timeout

我遇到了问题,但我看不到与此相关的内容。

我遇到了问题,当我正在与服务器执行FTP连接正在传输文件时发生了一些事情,但由于某种原因,有时会卡住,但我想阻止打开连接,有一个如何查看FTP连接是否未传输,请关闭连接?

我真的没有任何代码,因为我不确定这是否可行,

知道我现在能做些什么?

2 个答案:

答案 0 :(得分:0)

如果在传输文件时关闭连接,则它是您的FTP / SFTP客户端,服务器或网络。首先,切换到其他FTP / SFTP客户端。有些人比其他人有更多的分析工具。我以前必须这样做。如果这不起作用,请检查互联网连接或联系您的系统/网络管理员。

答案 1 :(得分:0)

  

有一种方法可以查看FTP连接是否未传输,关闭   连接?

如果您正在下载文件,则可以通过观察文件的大小来间接查看FTP传输:

one-to-one

当文件(作为参数传递)增长时,上面的脚本(让我们称之为name=$1 size=0 while sleep 10 set -- `ls -s $name` [ "$1" -gt $size ] do size=$1 done exit 1 )运行。
在您的脚本中,您可以编写类似

的内容
growing

在启动FTP之前。如果文件停止增长十秒钟,growing file || pkill ftp & 将被终止并且连接因此关闭。如果ftp正常终止,您可以ftp或仅让kill $!结束。