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 rundef 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踩坑记录/

转载于:https://www.cnblogs.com/polly-ling/p/10118510.html

Python3 模块 -- Fabric自动化模版相关推荐

  1. 15 - 使用 Fabric 自动化部署

    在 使用 Nginx 和 Gunicorn 部署 Django 博客 中,我们通过手工方式将代码部署到了服务器.整个过程涉及到十几条命令,输了 N 个字符.一旦我们本地的代码有更新,整个过程又得重复来 ...

  2. python开发自动化创建一个任务下发到手机_如何利用Fabric自动化你的任务

    首先让我们首先看一个例子.我们知道在*NIX下面,uname命令是查看系统的发行版. 可以写这样一个Fabric脚本: from fabric.api import run def host_type ...

  3. python 菜鸟-Python3 模块

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

  4. python实现自动按键_Python使用pyautogui模块实现自动化鼠标和键盘操作示例

    本文实例讲述了Python使用pyautogui模块实现自动化鼠标和键盘操作.分享给大家供大家参考,具体如下: 一.pyautogui模块简要说明 ## 使用 pyautogui 模块相关函数,可以模 ...

  5. python3 模块大全_Python3 模块 | 菜鸟教程

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

  6. python3 模块

    python3 模块 time 模块: 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间 ...

  7. python3模块文档_python3之模块

    1.python3模块 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用 python 标准库的方法. 模块让你能够有逻辑地 ...

  8. Python3 入门教程||Python3 数据结构||Python3 模块

    Python3 数据结构 本章节我们主要结合前面所学的知识点来介绍 Python 数据结构. 列表 Python 中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而 ...

  9. Python3入门教程||Python3 数据结构||Python3 模块

    Python3 数据结构 本章节我们主要结合前面所学的知识点来介绍 Python 数据结构. 列表 Python 中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而 ...

最新文章

  1. objective-c对NSArray的学习
  2. ElementUI中el-table添加小计行之后调整在滚动条上方
  3. C# 8.0 的默认接口方法
  4. 【C++ STL学习之六】STL算法之for_each
  5. java 课后习题 编写判断从键盘输入的字符串是否为回文
  6. 云图说|DAS表结构对比与同步,实现您多个数据库管理心愿
  7. 测试电梯的测试用例_测试开发工作者日记:2020.12.24
  8. 回顾我个人的创业经历
  9. 软齿面主要失效形式_齿轮4种常见故障原因,如何采取预防措施,避免齿轮失效...
  10. ftp,http YUM库
  11. 为什么从PhoneGap中逃离
  12. 线程并发安全导致内存溢出
  13. AI人工智能开发的5种最佳人工智能编程语言
  14. PHP+mysql共享自行车租赁管理系统
  15. halcon21.11安装教程详解
  16. 怎样解除网络宽带限制
  17. 安科瑞智慧消防在城市综合体中的应用
  18. 有人@70后,只差一位【嘚啵嘚】特约评论员啦!
  19. Java实现多线程远程投屏并打包可执行文件(从代码到.exe)
  20. dig @ip 域名 +subnet=ip返回结果各个参数解释与说明

热门文章

  1. linux下如何修改根口令
  2. cloudtalk 无法连接到消息服务器,solr - Solr Cloud down无法与Zookeeper对话客户端会话超时 - 堆栈内存溢出...
  3. python自动化办公都能做什么菜-Python 让我再次在女同学面前长脸了!(真实案例)...
  4. python数据类型-第三篇:Python基本数据类型
  5. python基本使用-Python标准库详细介绍与基本使用方式,超详细!
  6. 学会python之后-学会Python后,人生简直开挂了!
  7. python语言怎么用-科学家们是如何使用 Python 语言的?
  8. 学python好不好-学历低可以学python吗?好不好就业?
  9. python画柱形图-Python绘制柱状图
  10. python教程第四版pdf下载-Python参考手册 第4版高清中文PDF下载