我试图IPS +面料脚本的下面的列表,并没有任何问题运行fab -p <password> hosts uname
:
# ip_list.txt
192.168.xxx.x
127.0.0.1:xxxx
174.xxx.xxx.xxx:xxxx
# fabfile.py
from fabric.api import env, run, sudo
def hosts():
# Read ip list from ip_list.txt
env.hosts = open('ip_list.txt', 'r').readlines()
def uname():
sudo('uname -a')
什么是你sat_ip_list
文件看起来像 - 每行有一个IP地址吗?
您是否尝试过只使用非常少量主机的脚本,例如2-3个IP地址?绝对没有理由你不应该做你想做的事,你的剧本基本上就是为我工作的。
作为一个全面的检查,你可能想打印出的env.hosts
值,就像这样:
def hosts():
env.hosts = open('sat_ip_list', 'r').readlines()
print('Hosts:', env.hosts)
在我的情况下,会导致以下的输出:
[email protected]:~$ fab hosts
('Hosts:', ['192.168.xxx.x\n', '127.0.0.1:xxxx\n', '174.xxx.xxx.xxx:xxxx\n'])