10

我记得fabric API可以直接在py脚本中调用,但忘了从哪里开始有人给出线索吗?

4

2 回答 2

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"])
于 2012-08-08T09:56:40.350 回答
6

文档中有一个完整的部分介绍如何使用 fabric作为库。我会提到这一点,以及如何最好地以这种方式处理织物的使用。

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

于 2012-08-08T18:39:20.170 回答