Python Fabric模块详解


Python Fabric模块详解

什么是Fabric?

简单介绍一下:

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

再具体点介绍一下,Fabric是:

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

Fabric的安装

作为一个python的库,那简单粗暴中略带着些许优雅的pip一定是首选了。

python2推荐安装方法:

​```pip install fabric```

如果是python3,相对应的库是fabric3。

python3推荐安装方法:

​```pip3 install fabric3```

这里要注意一下,在同一个环境中,安装fabric3之前,需要先卸载fabric。

fabric是一个特殊的模块,不仅仅是一个python库,还是一个命令行工具,所以我们可以在命令行直接使用fab命令来调用。譬如:

通过help对fab命令进行了解:

​```fab -h```

查看版本信息:

​```fab -V```

简单示例:迈出第一步

接下来做个最简单的示例示范一下吧

  1. 当前目录新建一个fabfile.py文件
  2. 写入一个最简单的函数
  3. 在命令行使用fab调用该函数

sample code

当你使用fab命令时,fabric模块会自动默认寻找当前路径下的fabfile.py文件

当然,fabfile.py只是一个默认选项,如果你想指定其他的文件,可以通过 fab -f xx.py 来指定。


常用参数

-l  显示定义好的任务函数名
-f  指定fab入口文件,默认入口文件名为fabfile.py.. 即指定fabfile文件
-g  指定网关(中转)设备,即HOST逗号分隔要操作的主机, 比如堡垒机环境,填写堡垒机IP即可.
-H  指定目标主机,多台主机用‘,’号分隔
-p  远程账号的密码,fab执行时默认使用root账户
-P  以异步并行方式运行多主机任务,默认为串行运行
-R  指定role(角色),以角色名区分不同业务组设备
-t  设置设备连接超时时间(秒)
-T  设置远程主机命令执行超时时间(秒)
-w  当命令执行失败,发出警告,而非默认中止任务。

其他参数:

--``set``=KEY=VALUE,...     逗号分隔,设置环境变量
--shortlist             简短打印可用命令
-c PATH                 指定本地配置文件
-D                      不加载用户known_hosts文件
-i PATH                 指定私钥文件
-k                      不加载来自~/.``ssh``下的私钥文件
--port=PORT             指定SSH连接端口
-R ROLES                根据角色操作,逗号分隔
-s SHELL                指定新shell,默认是``'/bin/bash -l -c'
--show=LEVELS           以逗号分隔的输出
--``ssh``-config-path=PATH  SSH配置文件路径
-T N                    设置远程命令超时时间,单位秒
-u USER                 连接远程主机用户名
-x HOSTS                以逗号分隔排除主机
-z INT                  并发进程数

常用的API

  • local ——执行本地命令
  • lcd——切换本地目录
  • cd——切换远程目录
  • run——执行远程命令
  • sudo——以sudo权限执行远程命令
  • put——上传本地文件到远程主机
  • get——从远程主机下载文件到本地
  • prompt——获取用户输入信息
  • confirm——获取提示信息确认
  • reboot——重启远程主机, reboot()
  • @task——装饰器,装饰的函数为fab可以调用的
  • @runs_once——装饰器,标识的函数只会执行一次

fabric全局属性设定

  • env.exclude_hosts——排除指定主机,同样以列表表示

  • env.port——定义目标主机端口,默认22

  • env.user——定义用户名

  • env.password——定义密码

  • env.passwords——与上一致,但是区别不同主机不同配置的应用情景。例如:

    env.passwords = {'root@x.x.x.x:22' : '1234','root@x.x.x.x:22' : '5678'}

  • env.getway——定义网关

  • env.deploy_release_dir——自定义全局变量

  • env.roledefs——定义角色分组


fabric装饰器

@hosts

指定被装饰的函数执行在哪台主机或哪些主机列表上。

hosts 接受host的参数列表 @hosts('h1','h2'),或者一个可迭代对象 @hosts(['h1', 'h2'])。

h1可以是一个IP,也可以是user@host

这个装饰器是设置函数的.hosts属性,在执行函数之前读取。

@paralle

fabric.decorators.parallel

强制被装饰的函数并行执行,而非同步执行。

优先级:高于全局变量env.parallel,高于装饰器@serial

@roles

定义(服务器)“角色”名,然后用于寻找对应的主机列表

env.roledefs.update({
    'webserver': ['www1', 'www2'],
    'dbserver': ['db1']
})

@roles('webserver', 'dbserver')
def my_func():
    pass

roles接受参数列表,或单个的可迭代对象作为参数

不考虑控制台参数覆盖的话,my_func 将会在 webserverdbserver 角色对应的主机列表上执行。

@runs_once

组织函数多次执行的装饰器。

通过保存内部状态,使用该装饰器可以保证函数在每个Python解释器中只运行一次。任何被该装饰器装饰的函数在第二次,第三次.....第n次执行时都会静默失败,并返回初次运行的结果。

runs_once 无法和任务并行执行同时生效。

@serial

强制被装饰的函数顺序执行,不并行执行。

该装饰器效果的优先级高于全局变量env.parallel

若同时被 serialparallel 装饰器装饰,parallel 优先级更高。


判断模块:

from fabric.contrib.console import confirm

sample code


颜色模块:

from fabric.colors import *

![sample code][sample3]

ps:如果有人问:这个黄色为啥是这样的?颜色不太纯正?(我只能说,也许是觉得我的内心太纯洁吧。。)

好了,以上是fabric较常用部分,大家如需了解更多,可以点击下方链接,前往官方文档:

Fabric 官方文档

Fabric 官方文档-中文版

[sample3]: data:image/jpg;base64,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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM