我有一个Python应用程序,该应用程序使用以下版本将pxssh发送到远程服务器的各种Unix命令。
版本信息: Python-3.6.5 pexpect-4.2.1
在一台特定服务器上,我们的命令之一执行失败,因为该命令被pxssh截断了(我们认为)。
由于明显的原因,我们无法在开发/测试环境中重现该问题,也无法在PROD系统中进行测试。这也是我们任何系统上第一次发生这种情况。一条相似的命令(除了1个字符外,其他所有字符都相同,但日期不同),在该命令失败之前已成功执行。
在下面的日志片段中,您可以看到scp目标的路径被截断了1个字符。关于如何看待这种情况的任何想法?
显示pxssh对象的创建和使用的代码段:
self.connection = pxssh.pxssh(encoding='utf-8', echo=True,
timeout=None,
options={"StrictHostKeyChecking": "no"})
...
self.logger.info(self.log_header + 'The command is: ' + command)
self.connection.sendline(command)
self.connection.prompt()
log = self.connection.before
...
self.logger.info(self.log_header + log)
self.logger.info(self.log_header + 'Executed command: ' + command)
这是经过清理的日志输出,显示错误:
[INFO] The command is: scp -p *20190717* <server>:/path/to/target/location/
[INFO] Command output: [YOU HAVE NEW MAIL]
/path/to/target/locatio: No such file or directory
如您在上方看到的,n/
已从/path/to/target/location/
截断
这是成功的样子(再次经过消毒):
[INFO] The command is: scp -p *20190718* <server>:/path/to/target/location/
[INFO] Command output: [YOU HAVE NEW MAIL]
File1 100% 53MB 16.0MB/s 00:03
File2 100% 20MB 16.2MB/s 00:01
[INFO] Executed command: scp -p *20190718* <server>:/path/to/target/location/