zoukankan      html  css  js  c++  java
  • Fabric

    Fabric 是什么?

    Fabric 是一个 Python (2.5-2.7) 的库和命令行工具,用来提高基于 SSH 的应用部署和系统管理效率。

    更具体地说,Fabric 是:

    • 一个让你通过 命令行 执行 无参数 Python 函数 的工具;

    • 一个让通过 SSH 执行 Shell 命令更加 容易 、 更符合 Python 风格 的命令库(建立于一个更低层次的库)。

    安装

    pip install fabric
    

    第一个示例

    首先创建一个fabfile.py文件,也可以使其他的文件名,但是要通过 -f 参数指定文件。我们在文件中写一个hello函数。

    def hello():
        print('hello fabric')
    

    切换到fabfile.py文件所在的目录下,执行下面的命令。

    fab hello
    

    然后这个 hello 函数就就会用 fab 工具(随 Fabric 一并安装的命令)来执行了,输出的结果如下所示:

    hello fabric
    
    Done.
    

    fabfile.py 文件中每个函数就是一个任务,任务名即函数名,上例中是hello。fab命令就是用来执行fabfile.py中定义的任务,它必须显式地指定任务名。

    上面说过这个py文件也可以叫其他的名字,但是要使用-f参数来指定文件。比如我们将任务写在了demo.py文件中。我们可以想下面这样执行任务。

    fab hello -f demo.py
    

    我们还可以通过-l参数列出文件中所有的任务。

    fab -l
    
    fab -l -f demo.py
    

    带参数的任务

    任务也可以带参数,fab 工具所做的只是导入 fabfile 并执行了相应一个或多个的函数,这里并没有任何魔法——任何你能在一个普通 Python 模块中做的事情同样可以在一个 fabfile 中完成。

    def person(name, age):
        print('My name is {0},I am {1} years old '.format(name, age))
    

    我们在执行任务是就需要传递参数

    fab person:name=Tom,age=25
    

    输出结果:

    My name is Tom,I am 25 years old
    
    Done.
    

    执行本地命令

    fabric.api中的local()方法可以帮助我们执行本地命令。

    def dir(path):
        local('dir %s' %(path))
    

    执行任务:

    fab dir:path=e:install_packpython
    
  • 相关阅读:
    linux 程序后台运行
    小型网站架构技术点(简要)
    rsync安装与配置使用 数据同步方案(centos6.5)
    nfs的原理 安装配置方法 centos6.5
    centos 6.5 升级到 python2.7
    ntpdate 设置时区(注意本地时区要设置正确)
    关于umask的计算方式(简单任性)
    No space left on device(总结)
    lsof 查看打开了一个文件的有哪些进程 统计那个进程打开的文件最多
    作用域是什么?
  • 原文地址:https://www.cnblogs.com/qq2233297039/p/8688414.html
Copyright © 2011-2022 走看看