您好我正在尝试使用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 ""
答案 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')