我試圖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'])