当前位置 博文首页 > weixin_30247307的博客:9.python 系统批量运维管理器之Fabric模

    weixin_30247307的博客:9.python 系统批量运维管理器之Fabric模

    作者:[db:作者] 时间:2021-08-24 10:04

    ?

    前面介绍了paramiko,pexpect模块,今天来说比较适合大型应用自动化部署的模块,或者执行系统命令的模块Fabric。

    Fabric 是一个 Python 的库,同时它也是一个命令行工具。它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化、流水化地执行 Shell 命令。使用 fabric 提供的命令行工具,可以很方便地执行应用部署和系统管理等操作。因此它非常适合用来做应用的远程部署及系统维护。其上手也极其简单,你需要的只是懂得基本的 Shell 命令。

    fabric 依赖于 paramiko 进行 ssh 交互,fabric 的设计思路是通过几个 API 接口来完成所有的部署,因此 fabric 对系统管理操作进行了简单的封装,比如执行命令,上传文件,并行操作和异常处理等。

    paramiko 是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,fabric ansible 内部的远程管理就是使用的paramiko来现实

    安装模块

    Fabric的官网是 http://www.fabfile.org,源码托管在github上,可以把源码包clone到本地,使用 python3 setup.py? develop 安装。

    我这里使用 pip install fabric3 安装,不过 fab 命令默认安装在python目录下,需要创建软连接:ln -s 默认安装路径? /usr/bin/fab? 添加到环境变量即可

    Fabric简介和各个版本差异比较:http://www.mamicode.com/info-detail-2337088.html

    安装成功

    fab常用参数

    fab作为Fabric程序的命令行入口,提供了丰富的参数调用,命令的格式如下:

    fab [options] <command>[:arg1,arg2-val2,host=foo,host='h1;h2'...]...
    cs