在python脚本

时间:2016-08-17 11:11:14

标签: python bash

您好我正在尝试使用python创建一个脚本以登录到服务器并通过运行clustat命令来检查群集的状态。当我这样做时,我收到以下错误: / bin / sh:clustat:找不到命令 据我了解,它无法运行命令,因为这是一个正在使用的非标准bash命令。我希望有人会有一些想法来解决这个问题。

以下是用于运行命令的方法:(我有一个ssh到系统的antoher方法,它工作正常)

def run_cmd(command):
"""Function for running command on the system."""
proc = subprocess.Popen([command], stdout=subprocess.PIPE, shell=True)
(out, err) = proc.communicate()
return out

这是出现问题的地方。我知道run_cmd方法可以正常工作,因为我可以将它与其他命令一起使用:

run_cmd("clustat >> out.txt")
return ""

1 个答案:

答案 0 :(得分:2)

subprocess运行本地命令。

您必须使用paramiko.SSHClient在远程计算机上运行命令。

ssh_client = paramiko.SSHClient()
ssh_client.connect(host='some_host', username='username', password='password')

ssh_client.exec_command('clustat >> out.txt')