官网:http://www.fabfile.org/

中文站点:http://fabric-chs.readthedocs.io/zh_CN/chs/

Fabirc是基于python实现的SSH命令行工具,非常适合应用的自动化部署,或者执行系统管理任务。

更具体地说,Fabric 是:

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

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

自然而然地,大部分用户把这两件事结合着用,使用 Fabric 来写和执行 Python 函数或 task ,以实现与远程服务器的自动化交互。让我们一睹为快吧。

Fabirc 的安装

使用pip 进行安装即可

注意:

fabric 依赖第三方 setuptools,crypto,paramiko,所以推荐使用 pip3 安装,会自动匹配依赖包。注意是 fabric3

如果使用 pip3 install fabric ,在导入的之后执行的时候会有问题。

运行命令

pip3 install fabirc3

  运行结束后进入python,进行验证

python

import fabirc

 如果没有返回错误那么说明安装成功

附带着安装fab工具,安装方法同上

Fabric常用环境变量

Fabric 中有一个简单但是必不可少的部分叫做“环境”:它是 Python 字典的子类,既用作设置,也用于任务间数据空间共享。

目前,环境字典 fabric.state.env 是作为全局的单例实现的,为方便使用也包含在 fabric.api 中。 env 中的键通常也被称为“环境变量”。

运行环境即设置

Fabric 的大部分行为可以通过修改 env 变量,例如 env.hosts ,来控制(已经在 入门导览 中见过)。其他经常需要修改的环境变量包括:

  • user :Fabric 在建立 SSH 连接时默认使用本地用户名,必要情况下可以通过修改 env.user 来设置。Execution model文档中还介绍了如何为每个主机单独设置用户名。

  • password :用来显式设置默认连接或者在需要的时候提供 sudo 密码。如果没有设置密码或密码错误,Fabric 将会提示你输入。

  • warn_only:布尔值,用来设置 Fabric 是否在检测到远程错误时退出。访问 Execution model 以了解更多关于此行为的信息。

  • 除了这些以外还有很多其它环境变量,环境变量完整列表 文档的底部提供了完整的列表。

python神器之fabric的更多相关文章

  1. python三大神器之fabric

    Fabric Fabric是一个python的远程执行shell的库,同时它也是一个命令行工具.它提供了丰富的同 SSH 交互的接口,可以用来在本地或远程机器上自动化.流水化地执行 Shell 命令. ...

  2. python三大神器之fabric(2.0新特性)

    fabric经常出现在自动化运维领域,批量处理一些运维工作.fabric是在paramiko之上又封装了一层,操作起来更加简单易用. 本来只是想写个博客记录一下,然后发现之前写的代码不能运行了,报以下 ...

  3. python三大神器之virtualenv pip, virtualenv, fabric通称为pythoner的三大神器。

    python三大神器之virtualenv   pip, virtualenv, fabric通称为pythoner的三大神器. virtualenv virtualenv------用来建立一个虚拟 ...

  4. [转帖]APP逆向神器之Frida【Android初级篇】

    APP逆向神器之Frida[Android初级篇] https://juejin.im/post/5d25a543e51d455d6d5358ab 说到逆向APP,很多人首先想到的都是反编译,但是单看 ...

  5. Python三大器之生成器

    Python三大器之生成器 生成器初识 什么是生成器 生成器本身属于迭代器.继承了迭代器的特性,惰性求值,占用内存空间极小. 为什么要有生成器 我们想使用迭代器本身惰性求值的特点创建出一个可以容纳百万 ...

  6. ORACLE恢复神器之ODU/AUL/DUL

    分享ORACLE数据库恢复神器之ODU.DUL和AUL工具. ODU:ORACLE DATABASE UNLOADER DUL:DATA UNLOADER AUL:也称MyDUL 关于三种工具说明: ...

  7. Python模块学习 - fabric

    简介 fabric是一个Python的库,同时它也是一个命令行工具.使用fabric提供的命令行工具,可以很方便地执行应用部署和系统管理等操作. fabric依赖于paramiko进行ssh交互,fa ...

  8. python模块之 fabric

    Python模块之Fabric   Fabric简介 Fabric是一个Python库,可以通过SSH在多个host上批量执行任务.你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量 ...

  9. python部署工具fabric

    两台机器:10.1.6.186.10.1.6.159.fabric部署在10.1.6.186上面 1  执行和1相同的任务,不过排除掉10.1.6.159这台机器 1 #!/usr/bin/pytho ...

随机推荐

  1. thinkphp5.1 的else if的使用方法

    首先thinkphp5.1获取session值是 {$think.session.user_id}或者{$Request.session.user_id}来获取session 下面是if else 的 ...

  2. 把nginx当完全tcp端口转发器

    在nginx.conf里加入 stream {     server {         listen 18443;         proxy_pass 58.xxx.xxx.xxx:8443;   ...

  3. The message port closed before a response was received.

    问题描述:Chrome控制台报错:Unchecked runtime.lastError: The message port closed before a response was received ...

  4. SqlServer查询表名的备注(查询表名描述 MS_Description)

    查询表名描述 MS_Description ? 1 2 3 4 5 SELECT tbs.name 表名,ds.value 描述       FROM sys.extended_properties ...

  5. Java与Netty实现高性能高并发

    摘要: 1. 背景 1.1. 惊人的性能数据 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程 ...

  6. Window下安装Scala出现:此时不应有 \scala\bin\..\lib\jline-2.14.5.jar

    scala默认安装到了Program Files (x86)文件夹下.目录中有空格,空格就是导致这个问题的根本原因 把scala安装到其他目录即可 配置scala环境 在环境变量的系统变量里面添加SC ...

  7. centos7.4重置root密码

    1- 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4 - 现在按下 Con ...

  8. SpringCloud-day07-Feign

    7.Feign 7.1.Feign简介 声明式服务调用Feign简单介绍下: Feign是一个声明式的Web Service客户端,它使得编写Web Serivce客户端变得更加简单.我们只需要使用F ...

  9. linux卸载erlang

    rpm -qa | grep erlang | xargs rpm -e --nodeps

  10. Linux 进程同步和通信

    为了同步进程所以需要进程通信 管道(有名:文件形式存在,无名:仅限于父子进程间通信) 消息队列 信号量 共享存储 套接字(可用于不同机器)