在Python中直接调用fabric API

whi*_*whi 10 python fabric

我记得Fabric API可以直接在py脚本中调用,但忘了从哪里开始任何人提供线索?

Fed*_*lev 26

是的,您可以调用它,例如:

from fabric.api import run
from fabric.tasks import execute


def do_something():
    run("echo $RANDOM")

if __name__ == "__main__":
    execute(do_something, hosts=["username@host"])
Run Code Online (Sandbox Code Playgroud)


Mor*_*gan 6

关于在文档中使用fabric 作为库,有一整节.我会参考这个以及如何最好地以这种方式使用面料.

具体来说,您将要使用execute函数解决在X主机列表上执行任务的问题.完成后,应断开与所有连接主机的连接.通常,该工具会为您执行此操作,但在将结构用作库时必须手动执行此操作.Fabric 0.9.4及更高版本具有一个功能.理想情况下,这应该在声明的条款中.Yexecute( X, hosts=Y )fabdisconnect_all()finallytry...finally

  • 作为一个图书馆.你想要使用它的方式.没有打电话给fab.等等 (2认同)