2015-10-04 38 views
2

我不明白如何在python结构中定义多个主机。我有一个hosts.txt文件中包含这种形式的连接数据:如何通过python命令将命令推送到多个主机?

[email protected]:22 password 
[email protected]:22 password 
[email protected]:22 password 

和示例代码:

#!/usr/bin/python 

import pprint 
from fabric.api import * 

for line in open('hosts.txt','r').readlines(): 
    host, passw = line.split() 
    env.hosts.append(host) 
    env.passwords[host] = passw 

pprint.pprint(env.hosts) 

def test(): 
sudo("mkdir /a") 

test(); 

不幸的是我得到的消息

没有找到主机。请指定(单个)主机字符串进行连接

pprint向我显示一个正确的主机列表。我应该怎么做hosts.txt文件中的所有主机执行我的任务?

+0

也看到http://stackoverflow.com/a/15621751/489590 –

回答

0

我这样做的方式不对。而不是从一个Python文件调用的函数,我应该从命令行运行这样说:

fab -f my_file_with_functions function_name 

所以这个问题解决了

相关问题