/Fabric-Chinese-Docs

Simple, Pythonic remote execution and deployment.

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Fabric是一个Python(2.5或更高版本)库和命令行工作,可以通过SSH简化应用部署和系统管理任务。

它提供了一组操作用于执行本地或运程命令行指令(普通指令或``sudo``),上传或下载文件。
还带有一些辅助功能,比如提示用户输入,中止程序运行等等。
 
典型用法是创建一个包含一个或多个功能的Python模块,然后通过 ``fab`` 命令行工具运行该模块。
下面用一个短小而完整的 "fabfile" 完成一项任务::

    from fabric.api import run

    def host_type():
        run('uname -s')

定义任务之后,就可以运行在一个或多个服务器上,如下::

    $ fab -H localhost,linuxbox host_type
    [localhost] run: uname -s
    [localhost] out: Darwin
    [linuxbox] run: uname -s
    [linuxbox] out: Linux

    Done.
    Disconnecting from localhost... done.
    Disconnecting from linuxbox... done.

除了使用 ``fab`` 工具以外,Fabric的组件还可以在其他Python代码中引用,提供一个Pythonic的接口在更高层级上操作SSH协议。
从而就不用直接使用 ``ssh`` 库。(当然,Fabric本身也要使用 ``ssh`` 库)