多次执行

时间:2019-07-04 13:59:02

标签: python bash

我的要求是在中央服务器的多个主机上运行命令,主机名应从文件中读取。 (ssh连接无需密码)

我可以使用下面的bash脚本实现此目标,任何人都可以在下面的python中进行设计吗?

for i in $(cat $location);
    do echo $i; 
    sudo -i -u username ssh -q -o "StrictHostKeyChecking no" -o "NumberOfPasswordPrompts 0" -o ConnectTimeout=2 $i "cd /root/abc/$i"_"${append}/ && ./install --type R;done | tee -a $LOG1 >> $LOG 2>> $LOG &

由于我具有python的基本知识,但在下面尝试了一下,它可以对一台主机正常工作。

我的尝试

import os
import subprocess
import sys

HOST="hostname"
COMMAND = raw_input("Enter the Command: ")

ssh = subprocess.Popen(["ssh", "%s" % HOST, COMMAND],
                        shell=False,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE)
result = ssh.stdout.readlines()
if result == []:
        error = ssh.stderr.readlines()
        print >>sys.stderr, "ERROR: %s" % error
else:
        print "cmd output"
        print result

0 个答案:

没有答案