前段时间,在给公司维护一个自动传输文件的脚本,出现无法从FTP服务器上获取文件,并且每次出现这种情况的时候,是一个文件都不能获取到(而不是在传输过程出现中断),因为整个服务器群都在一个局域网内,所以可以判断网络断网的情况是很小的几率的。
关于这个传输的文件的脚本比较特殊,调用情况是这样,假设两台主机A、B。
主机A发起连接到主机B上,然后发起远程调用命令而该命令脚本是在主机B上的,该脚本目标就是从FTP服务器上获取文件),接着正常情况是B会去连接FTP服务器获取文件。
但是在服务器运行过程中,会经常隔3-6天出现一次文件没有传输。
之前判断以为远程调用命令没有调用成功,后来在命令脚本中加入了一些其他命令,经测试后,发现就是远程获取文件的命令不能成功,例如:mget 文件名,这样。
当时想了几天都没想明白,后来因为很多应用服务都部署在一台服务器上(导致对外服务压力很大)。公司就进行了一次将各种应用服务部署到多台服务器上优化工作。
我为了验证是否是ftp命令有问题,我采用了两种机制,一个用lftp,一个用ftp。
经过一个多月的测试下来发现,再也没出现无法获取文件的情况。
总结:该问题个人认为是特殊情况,其实lftp和ftp两个命令都没问题,是因为我们对部署后期的规划反应不快,导致多个应用服务负载上来后,影响到其他的应用。