2024-03-28 18:23:18 发布
网友
我希望能够将我在远程主机上运行的命令的输出(比如top)从使用SSH的Python脚本中存储到一个文件中。你知道吗
top
我知道如何使用SSH(我目前正在使用Paramiko连接到远程设备)。我需要运行命令,然后将输出存储在文本文件中。你知道吗
你试过什么?你知道吗
根据您的命令,您可以执行以下操作:
ssh user@machine command > log
日志将保存到您的计算机中。 一个真实的例子:
ssh root@192.168.x.x ls > log
如果您的命令不支持输出到stdout,请按如下方式运行:
ssh root@192.168.x.x "command -o output; cat output" > log
对于python,您可以使用subprocess并执行相应的命令,例如:
import subprocess def yourfunction(): subprocess.call("ssh user@machine command > log",shell=False) yourfunction()
如果使用paramiko的exec_command方法执行命令,可以执行以下操作:
stdin, stdout, stderr = your_ssh_client_object.exec_command("top") with open("out.txt", "w") as f: f.writelines(stdout.readlines())
如果您也关心错误输出,则需要将其附加到同一个文件或存储在单独的文件中。你知道吗
(注意:上面的代码既没有经过测试,也没有自己工作,因为OP本身没有提供minimal, workable example。你知道吗
你试过什么?你知道吗
根据您的命令,您可以执行以下操作:
日志将保存到您的计算机中。 一个真实的例子:
如果您的命令不支持输出到stdout,请按如下方式运行:
对于python,您可以使用subprocess并执行相应的命令,例如:
如果使用paramiko的exec_command方法执行命令,可以执行以下操作:
如果您也关心错误输出,则需要将其附加到同一个文件或存储在单独的文件中。你知道吗
(注意:上面的代码既没有经过测试,也没有自己工作,因为OP本身没有提供minimal, workable example。你知道吗
相关问题 更多 >
编程相关推荐