1. 安装

    • pip3 install fabric3
  2. 创建软连接

    • find / -type f -name "fab"
    • /usr/local/python3/bin/fab
    • ln -s /usr/local/python3/bin/fab /usr/bin/fab

如果文件名为fabfile.py ,就不需要使用-f 指定文件名

  1. 入门示例
#fabfile.py
from fabric.api import run def host_type():
run('uname -s')

启动

lyt@ubuntu:~/tmp/fab$ fab -H 127.0.0.1 host_type
[127.0.0.1] Executing task 'host_type'
[127.0.0.1] run: uname -s
[127.0.0.1] Login password for 'lyt':
[127.0.0.1] out: Linux
[127.0.0.1] out: Done.
Disconnecting from 127.0.0.1... done.
lyt@ubuntu:~/tmp/fab$ fab -H 127.0.0.1 host_type
[127.0.0.1] Executing task 'host_type'
[127.0.0.1] run: uname -s
[127.0.0.1] Login password for 'lyt':
[127.0.0.1] out: Linux
[127.0.0.1] out:

fabric常用参数

- -l : 显示定义好的任务函数名

- -f : 指定fab入口文件,默认入口文件名为fabfile.py

- -H : 指定目标主机,多台主机用","号分割

fabric常用API

- local : 执行本地命令,如:local('uname -s')

- lcd : 切换本地目录,如:lcd('/home')

- cd : 切换远程目录,如:cd('/etc')

- run : 执行远程命令,如:run('free -m')

- sudo : sudo方式执行远程命令,如:sudo('touch /abc')

- put : 上传本地文件到远程主机,如:put('/hello', '/home/lyt/hello')

- get : 从远程主机下载文件到本地,如:get('/home/python/world', '/home/lyt/world')

- reboot : 重启远程主机,如:reboot()

- @task : 函数装饰器,标识的函数为fab可调用的,非标记的对fab不可见,纯业务逻辑

- @runs_once : 函数装饰器,标识的函数只会执行一次,不受多台主机影响

fabric全局属性设定

- env.host : 定义目标主机,如:env.host=['192.168.17.192', '192.168.17.193']

- env.user : 定义用户名,如:env.user="root"

- env.port : 定义目标主机端口,默认为22,如:env.port="22"

- env.password : 定义密码,如:env.password="199000"

- env.passwords : 不同的主机不同的密码,如:env.passwords={'lyt@192.168.17.192:22':'199000', 'lyt@192.168.17.193:22':'python'}

参考链接1 Python3自动化运维之Fabric模版详解

参考链接2 https://github.com/fabric/fabric/tree/1.13.1

参考链接3 python模块fabric踩坑记录/

Python3 模块 -- Fabric自动化模版的更多相关文章

  1. 使用Fabric模块实现自动化运维

    一.安装软件 简介:Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行.文件上 ...

  2. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  3. (转)Python3 模块3之 Urllib之 urllib.parse、urllib.robotparser

    原文:https://blog.csdn.net/qq_36148847/article/details/79153738 https://blog.csdn.net/zly412934578/art ...

  4. python系列十二:python3模块

    #!/usr/bin/python # This Python file uses the following encoding: gbk #Python3 模块 '''用 python 解释器来编程 ...

  5. python017 Python3 模块

    Python3 模块在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了.为此 Python 提供了一个办法, ...

  6. 吴裕雄--天生自然python学习笔记:Python3 模块

    Python3 模块 在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办 ...

  7. python使用Fabric模块实现自动化运维

    简介:Fabric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行.文件上传.下载及完整 ...

  8. python3安装Fabric模块

    streamparse 项目的issuehttps://github.com/Parsely/streamparse/issues/172 fabric的一个支持Python3.4的forkhttps ...

  9. 使用Fabric自动化你的任务

    Fabric是一个Python库,可以通过SSH在多个host上批量执行任务.你可以编写任务脚本,然后通过Fabric在本地就可以使用SSH在大量远程服务器上自动运行.这些功能非常适合应用的自动化部署 ...

随机推荐

  1. 格式代码出现两次oracle

    报ORA-01810:格式代码出现两次 原因是Java中的年月日和Oracle中的年月日表示形式不一样 oracle用MI来代表分钟,而不是java中的mm

  2. 每日一练ACM 2019.04.13

    2019.04.13 第1002题:A+B Proble Ⅱ Problem DescriptionI have a very simple problem for you. Given two in ...

  3. HTML的Tomcat

    修改D:\software\apache-tomcat-8.0.44\webapps\ROOT\WEB-INF\web.xml: <?xml version="1.0" en ...

  4. Fiddler-设置取消自动更新

    fiddler 启动时老弹出要更新,但不想更新,可以这样设置 Tools-Optons->General 把第一个√去掉

  5. Lambda表达式遍历和泛型ForEach遍历方式

    lambda表态式 DataTable dtAllItems = policySecurity.GetUserAccessTypeOnAllItems(userID); List<DataRow ...

  6. DML&&DQL

    数据操纵语言DML(Data Manipulation Language) insert update delete 查询条件用where DQL:select查询语句

  7. Eclipse下用NDK编译生成so文件

      我们在安装环境的时候安装了NDK,可以在eclipse下直接生成so文件.NDK的压缩包里面自带了一些sample工程,NDK的文件直接解压到某个目录下即可. 第一次生成so文件的时候,我们先使用 ...

  8. socket的阻塞与非阻塞,同步与非同步

    网络编程中通常提到四种方式,同步/异步,阻塞/非阻塞.以下对它们的概念进行总结 1.同步/异步:主要针对C端 同步:所谓同步,就是在C端发出一个功能调用时,在没有得到结果之前,调用不返回,也就是必须一 ...

  9. centos7下zabbix记录

    Zabbixrpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm - ...

  10. [转载]你所不了解的DevOps

    DevOps开发运维训练营 一旦建立了创新的文化,即使那些并非科学家或者工程师的人——诗人.演员.记者——也能以团体的形式,接受科学文化的意义.他们信奉创新文化的概念.他们以促进这种文化的方式投票.他 ...