现在,这可能有点过时了,自从您提出这个问题以来,Fabric 肯定已经发展了很多……但是,正如 Morgan 所说,您基本上只需要一个包装脚本来包含主力,然后它就是来自的“只是 Python”那里。这在执行模型文档中有简要说明。
例如,您可能会想到包装“正常运行时间”之类的一种方式(尽管显然,这可能会变得更加复杂):
@parallel
def _get_uptime():
'''Retrieve and return uptime for each host'''
with hide('stdout'):
up = run( 'uptime' )
return( up.rstrip() )
@runs_once
def uptime_sorted():
'''System: System uptime (sorted) - Use parallel for best effect'''
print( cyan( "[%(host)s] Executing on %(host)s as %(user)s" % env ) )
system_uptimes = execute( _get_uptime )
for sys,up in sorted( system_uptimes.iteritems() ):
print "%s: %s" % ( sys, up )
这使 uptime_sorted 成为您的入口任务。_get_uptime 完成所有获取数据并返回数据的工作。