fabric是一款命令行工具,支持执行本地命令,执行远程命令,上传下载等。fabric像一个subprocess+paramiko的集合,又像一个更加轻量级的ansible,可以批量对服务进行操作
安装插件
'''
安装fabric3
pip3 install fabric3
'''
# C:\Users\Administrator>pip3 install fabric3
# Collecting fabric3
# Downloading Fabric3-1.14.post1-py3-none-any.whl (92 kB)
# |████████████████████████████████| 92 kB 73 kB/s
# Requirement already satisfied: six>=1.10.0 in c:\python38\lib\site-packages (from fabric3) (1.15.0)
'''
查看版本信息
fab -V
'''
# C:\Users\Administrator>fab -V
# Fabric3 1.14.post1
# Paramiko 2.7.2
'''
查看帮助信息
fab -h
'''
# C:\Users\Administrator>fab -h
# Usage: fab [options] [:arg1,arg2=val2,host=foo,hosts='h1;h2',...] ...
#
# Options:
# -h, --help show this help message and exit
# -d NAME, --display=NAME
# print detailed info about command NAM
远程启用应用
# 导入Connection连接对象
from fabric import Connection
def run():
'''
应用部署
:return:
'''
# 连接服务器
conn = Connection("[email protected]", connect_kwargs={"password": "docker"})
# 执行控制台命令
with conn.cd('/usr/load/project'):
# 拉取hello world的docker镜像
conn.run("docker pull hello world")
# 启动镜像
conn.run("docker run hello world")
本地命令执行
# 创建fabfile.py文件
# 导入本地local
from fabric.api import local
def hello_world():
'''
本地命令行
:return:
'''
print("查看当前文件目录")
local("ll -a")
# 命令行调用函数
# $ fab hello_world
【往期精彩】
● python超赞插件you-get,执行一行命令即可下载、命令行下载工具推荐!
● 办公自动化:Python-win32com自动将word文档转换成pdf格式!
● pandas数据统计插件的连接函数concat()妙用,灵活处理数据对象!
● Git LFS 3.0.0 发布,对大文件进行版本控制的 Git 扩展
● python有序序列的字典序列推导式运用技巧!
● Django 4.0 alpha 1 发布
● python经典有序序列的list列表推导式实践运用
● python常用转义字符串总结:各种字符转义的不同、如何取消转义字符效果?
● 推荐一款python、excel集成的数据分析工具PyXLL-Jupyter!
● 如何使用python完成对WebService服务的调用?suds-py3插件安利一下!
● 介绍一款优秀的IDE Grid Studio,Excel深度集成python,直接编写并执行python代码块!
● 十大开源软件基金会你知道哪些?
● python内置函数通过字符串的方式来执行函数代码块,类似java的反射机制相当强大!
● python-Coverage 代码覆盖率统计工具,生成html代码报告