我从正在删除的旧服务器继承了旧版 Perl 脚本。该脚本需要在新服务器上实现。我已经在新服务器上。
脚本非常简单;它通过 expect & ssh 连接到网络设备并收集数据。出于调试目的,我只使用从设备收集接口列表的部分。
新服务器上的脚本总是在重新加载后大约 5 秒内向我显示一个页面。很少,它包括来自远程设备的接口列表。最常见的是,它包含除接口列表之外的所有 HTML 元素。
现在,在旧服务器上,有时脚本需要 20 秒才能输出数据。那很好。
基于此,新服务器上的 apache 似乎在 Perl 脚本完成返回数据之前显示数据,尽管这肯定是不正确的。
附加信息: 很遗憾,我无法发布任何代码 - 工作政策。但是,我很确定这不是期望的问题。期望部分写为 expect() 或 die('error msg') ,我没有看到错误消息。但是,如果我将期望超时设置为 0,那么我确实会看到错误消息。
脚本中使用的期望超时值通常为 20 秒……但正如我上面提到的,apache 在大约 5 秒后显示来自脚本的静态内容,并且 95% 的时间不显示应该从期望检索的内容. 此外,脚本将预期内容写入驱动器上的文件 - 即使页面未显示它。