当我运行我的python代码时,它要求主机.
找不到主机.请指定(单个)主机字符串以进行连接:
我有以下代码:
from fabric.api import *
from fabric.contrib.console import confirm
env.hosts = [ 'ipaddress' ]
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
remoteRun();
Run Code Online (Sandbox Code Playgroud)
我甚至尝试使用-H选项运行fab,我收到相同的消息.我正在使用Ubuntu 10.10任何帮助表示赞赏.顺便说一下,我是Python的新手.
Col*_*ood 15
如果它只是一个主机,您可以使用env.host_string = 'somehost or ipaddress'.
你也不需要;在你的最后remoteRun.
from __future__ import with_statement
from fabric.api import *
from fabric.contrib.console import confirm
from fabric.api import env, run
env.host_string = 'ipaddress'
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
remoteRun()
Run Code Online (Sandbox Code Playgroud)
Gri*_*ave 15
为了让主机在fab命令行工具和fabfile.py之外的脚本中工作,你必须使用execute():
from fabric.api import run
from fabric.tasks import execute
def mytask():
run('uname -a')
results = execute(mytask)
Run Code Online (Sandbox Code Playgroud)
我不确定remoteRun();你的例子应该做什么.
它是fabfile的一部分还是这个调用脚本的终端命令?
正确的方法是在shell中使用这样的命令:
fab remoteRun
通常,最好指定命令应该运行的具体主机,如下所示:
def localhost():
env.hosts = [ '127.0.0.1']
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
Run Code Online (Sandbox Code Playgroud)
您可以从终端运行它(假设您在包含fabfile的目录中):
fab localhost remoteRun
Run Code Online (Sandbox Code Playgroud)
作为替代方法,您可以使用-H参数指定主机:
fab -H 127.0.0.1 remoteRun
Run Code Online (Sandbox Code Playgroud)
如果您有要为其调用命令的主机列表,请执行以下操作:http: //readthedocs.org/docs/fabric/latest/usage/execution.html
调整到您的示例:
env.hosts = [ 'localhost', '127.0.0.1']
def remoteRun():
print "ENV %s" %(env.hosts)
out = run('uname -r')
print "Output %s"%(out)
Run Code Online (Sandbox Code Playgroud)
并呼吁通过: fab remoteRun
这样就remoteRun可以在所有主机上执行env.hosts.
@Nerdatastic是对的,简单来说:不要使用env.hosts,而是使用env.host_string.例如
def setup_db_server
env.host_string = 'db01.yoursite.com' # or the ip address
run("mysqladmin ...")
end
Run Code Online (Sandbox Code Playgroud)
并且运行$ fab setup_db_server 将在目标服务器上执行脚本.
| 归档时间: |
|
| 查看次数: |
14917 次 |
| 最近记录: |