现象

在Linux下使用脚本利用ftp命令做大文件传输,持续时间8小时以上,文件传输完成后(服务器上已经收到完整文件),FTP客户端无响应,脚本阻塞,无法执行下一步操作。

分析

FTP使用两个TCP连接来通信,一条控制连接(control connection)用来提交命令和接受回复;一条数据连接(data connection)来处理实际的文件传输。
在文件传输过程中,控制连接是很容易进入空闲状态的,此时Linux系统或者客户端与服务器中间的防火墙或者网络设备将断开超时的空闲连接且不通知双方,就造成了文件成功传输100%但最后还是超时的现象。

问题解决

暂时还没有验证出来特别好的解决方案,调大超时时间肯定能解决,但不推荐,另外,文件分片传输也是一种解决方式。

其他方式还在验证过程中

最后修改:2019 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏