Python 运维工具 fabric 介绍与安装教程

Python运维工具介绍1-fabric

Fabric 是一个用 Python 编写的运维工具,使用 Python 完整实现了 SSH 客户端协议,使得之前的服务器部署、维护、获取当前服务器状态等需要 SSH 到服务器的工作完全自动化,对于我这种喜欢捣鼓的人来说,这个工具无疑是一种解脱。

开始安装试用 Hello World

安装完成后,我们就可以体验fabric了。使用你最喜欢的IDE将以下代码保存到名为"fabfile.py"的文件中。代码如下:

从 fabric.api 导入 *@taskdef PrintCpuinfo(): cmd_output = run("cat /proc/cpuinfo") 打印 cmd_output

这段代码的作用是获取远程计算机的CPU参数并输出,写完代码后我们在命令行输入fab PrintCpuinfo(确保PATH中有scripts),然后根据提示输入登录主机,密码等即可。

了解有关配置主机的详细信息

之前在Hello World中我们并没有配置需要登录的主机,运行之后fabric会通过命令行进行交互,获取需要登录的主机和密码,然而我们需要做的是让这个过程自动化,那么该如何实现登录的自动化呢?

使用命令行参数

在调用fabric的时候,我们可以通过命令行参数-H来决定需要在哪台或者哪几个主机上运行该命令,示例如下:

fab -H 用户1@主机1,用户2@主机2 PrintCpuinfo

这使您可以在多台计算机上自动执行 PrintCpuinfo 命令。

在 fabfile 中配置 HOST

我们可以在fabfile中定义任务之前添加如下代码来配置需要登录的主机。

env.password = "密码"env.hosts = ["a@host1","b@host2"]

这样,在使用fab PrintCpuinfo时,就可以自动登录远程计算机,而不需要输入密码。

还有什么其他命令?

在fabric中,不仅支持我们上面用到的run命令,还支持以下命令:

Fabric 使用极其原始和简单的 API 与远程计算机进行交互。这注定了它易于使用和可扩展。然而,仅靠 fabric 做很多事情是困难的,例如跨操作系统操作(Ubuntu/CentOS)。我可能会在以后的文章中介绍它。

相关推荐
佛祖让我来巡山10 天前
⚠️登录认证功能的成长过程:整体概述
安全·登录·springsecurity·登录认证·认证授权
課代表16 天前
bat 批处理文件重命名加时间戳
时间·重命名·bat·时间戳·命令·批处理·字符串截取
bcgbsh17 天前
身份认证状态的存储与传递( Spring Boot篇 )
springboot·登录
課代表1 个月前
WindoWs 系统管理批处理脚本
windows·安全·脚本·注册表·bat·命令·组策略
Damon小智1 个月前
HarmonyOS应用开发-低代码开发登录页面(超详细)
低代码·harmonyos·鸿蒙·登录·arcts·arcui·griditem
序属秋秋秋1 个月前
《Linux系统编程之入门基础》【Linux基础 理论+命令】(下)
linux·运维·服务器·学习·ubuntu·xshell·命令
web前端神器2 个月前
webpack,vite,node等启动服务时运行一段时间命令窗口就卡住
命令模式·命令
胡斌附体2 个月前
springbatch使用记录
数据库·接口·shell·命令·批量·springbatch·并发抽取
徐晓康的博客3 个月前
Verilog功能模块--SPI主机和从机(03)--SPI从机设计思路与代码解析
fpga开发·verilog·主机·spi·从机
hqwest4 个月前
C#WPF实战出真汁06--【系统设置】--餐桌类型设置
c#·.net·wpf·布局·分页·命令·viewmodel