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. 入门示例
  1. #fabfile.py
  2. from fabric.api import run
  3. def host_type():
  4. run('uname -s')

启动

  1. lyt@ubuntu:~/tmp/fab$ fab -H 127.0.0.1 host_type
  2. [127.0.0.1] Executing task 'host_type'
  3. [127.0.0.1] run: uname -s
  4. [127.0.0.1] Login password for 'lyt':
  5. [127.0.0.1] out: Linux
  6. [127.0.0.1] out:
  7. Done.
  8. Disconnecting from 127.0.0.1... done.
  9. lyt@ubuntu:~/tmp/fab$ fab -H 127.0.0.1 host_type
  10. [127.0.0.1] Executing task 'host_type'
  11. [127.0.0.1] run: uname -s
  12. [127.0.0.1] Login password for 'lyt':
  13. [127.0.0.1] out: Linux
  14. [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. ArrayAdapter构造方法中的textViewResourseId

    simple_list_item_1:每个列表项都是一个普通的textView simple_list_item_2:每个列表项都是一个普通的textView(字体略大) simple_list_it ...

  2. 第二阶段第五次spring会议

    昨天我对软件加上了写便签时自动加上时间的功能. 今天我将对初始页面进行加工和修改. 我用两个小动物作为按钮分别进入动物便签界面和植物便签界面,可以让用户自由选择. 明天我将尝试对软件进行添加搜索引擎的 ...

  3. 【mysql】:mysql性能优化总结

    一.Mysql引擎概述 1.MyISAM存储引擎 MyISAM表是独立于操作系统的,这说明可以轻松地将其从Windows服务器移植到Linux服务器:每当我们建立一个MyISAM引擎的表时,就会在本地 ...

  4. python中os.path 与sys.path

    看别人写的代码,会发现两个和路径设置有关的模块 os 和sys.我对这两个模块也不是特别了解.只是记录一下自己看到的,学到的. python 中我们会使用这两个模块和文件路径, 创建文件 之类的 操作 ...

  5. Executors创建的4种线程池的使用

    Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixe ...

  6. 更改MAC地址,突破公司绑定MAC地址的限制

    步骤/方法 1 打开开始菜单,选择控制面板. 2   3 打开控制面板项,选择网络和共享中心. 4   5 选择更改适配器设置. 6   7 选择本地要修改MAC地址的网卡. 8   9 右键该网卡, ...

  7. Oracle创建物化视图

    1.物化视图语法 create materialized view [view_name] refresh [fast|complete|force] [ on [commit|demand] | s ...

  8. C++标准库之string返回值研究

    先说结论(不一定适用所有环境): 1) GCC默认开启了返回值优化(RVO),除非编译时指定“-fno-elide-constructors”: 2) 现代C++编译器一般都支持返回值优化: 3) s ...

  9. linux下使用iptables统计ip/端口流量

    1.添加ip/端口的流量统计 入网流量: iptables -A INPUT -d 出网流量: iptables -A OUTPUT -s 2.查看流量统计信息 iptables -L -v -n - ...

  10. Sudoku(POJ2676/3074)

    Sudoku is one of the metaphysical techniques. If you understand the essence of it, you will have the ...