Python的批量远程管理和部署工具Fabric用法实例
2023-06-13 09:15:41 时间
本文实例讲述了Python的批量远程管理和部署工具Fabric用法。分享给大家供大家参考。具体如下:
Fabric是Python中一个非常强大的批量远程管理和部署工具,常用于在多个远程PC上批量执行SSH任务.
常见的使用方法大概总结如下:
1.首先,要将批量执行的任务写入到一个fabfile.py中,
fromfabric.apiimportrun,local,roles,env,cd
env.hosts=[
"192.168.1.110",
"192.168.1.111",
"192.168.1.112"
]
env.user="username"
env.password="password"
env.port=22
#env.parallel=True
#env.skip_bad_hosts=True
#env.timeout=1
#env.warn_only=True
#local用于在本地PC执行命令.
#run用于在远程PC执行命令.
defls():
withcd("/home/workspace/project"):
local("touch1.log")
withcd("/home/workspace/project2"):
local("touch2.log")
#@parallel,可以设置是否并行执行
#@serial
defpull():
withcd("/home/workspace/project"):
run("gitpull")
defclean():
withcd("/home/workspace/project"):
run("bashclean.sh")
@hosts("192.168.1.113")
defrobot(device):
withcd("/home/workspace/project"):
run("bashrun.sh%srobot&&sleep1"%device)
以上就是一个简单的fabfile.py,其中定义的函数均对应一个fab中的可执行命令.
其中有两个小的注意事项:
A.在远程机器的run.sh中如果要执行一些非系统常见的工具,最好指定为绝对路径.且可以适当地使用nohup的方式.
B.执行其他脚本或者命令后最好加上sleep,以防止Fabric过早地关闭与远程PC连接的session,而导致执行任务失败.
2.执行过程:fabric执行会默认选取当前目录下的fabfile.py文件,
fabpull
fabrobot:hosts="192.168.1.115",device=5560
可以通过hosts参数给fabric传入指定的远程PC,该hosts参数的优先级比env.hosts的要高.
也可以给fab中的命令传递参数,如device.
此外,还可以通过fab-fotherFabFile.pyclean来指定其他的fabric文件.
如果需要并行执行的话,也可以传递参数如fab-P-z15pull,15表示并行执行的PC数量.
以上,只是一些简单的用法,如果需要更高级的用法,可以关注该项目的github主页https://github.com/fabric/fabric.
希望本文所述对大家的Python程序设计有所帮助。
相关文章
- mac pycharm安装设置_python爬虫 | mac系统PyCharm的安装「建议收藏」
- Python与数据库之学员管理系统「建议收藏」
- python整除和取余写法_Python的整除和取余[通俗易懂]
- python截图识别文字_Python文字截图识别OCR工具实例解析
- python爬虫实例大全
- 下载安装 Python ,含详细步骤[通俗易懂]
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- python中关于命名的例子_Python 命名规范入门实例「建议收藏」
- python表情代码_Python实现表情包的代码实例[通俗易懂]
- Python 技巧篇-pip卸载python库实例演示,查看pip命令大全方法[通俗易懂]
- 39个 Python Datetime 小例子,拯救因时间抓狂的你
- 经纬度距离计算 python_Python已知两坐标求距离
- 遗传算法的应用实例python实现_遗传算法Python解决一个问题
- python程序化交易实例-用 Python 实现你的量化交易策略「建议收藏」
- 下列python语句的输出结果是print_下列 Python语句的输出结果是「建议收藏」
- 【python语言学习】下载安装相关
- 1行Python代码,把PPT转成图片,python-office功能更新~
- Python 计算文件中总行数
- onedrive for business使用python上传文件
- python-数据库编程-数据库模型和数据结构
- java中执行python脚本工具类详解编程语言
- Connecting to MSSQL with Python: A Comprehensive Guide for Beginners(python连接mssql)
- Python在连接MSSQL数据库中的应用(python连mssql)
- python利用hook技术破解https的实例代码
- Python多进程通信Queue、Pipe、Value、Array实例
- Python实现端口复用实例代码
- Python中对列表排序实例
- 基于Python实现的扫雷游戏实例代码
- python实现的重启关机程序实例
- 跟老齐学Python之一个免费的实验室