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)。我可能会在以后的文章中介绍它。

相关推荐
刘大猫.2 天前
Arthas thread(查看当前JVM的线程堆栈信息)
jvm·thread·命令·arthas·查看当前jvm的线程堆栈信息·thread命令
江喜原3 天前
微服务下设计一个注解标识是否需要登录
java·微服务·架构·登录
花花花17 天前
Linux 文件与目录操作命令详解
linux·运维·服务器·文件·目录·命令
Amd79414 天前
使用 nuxi upgrade 升级现有nuxt项目版本
测试·开发·命令·升级·nuxt 3·nuxi·项目创建
Amd79416 天前
使用 nuxi preview 命令预览 Nuxt 应用
服务器·环境·nuxt·项目·命令·预览·构建
Amd79417 天前
使用 nuxi prepare 命令准备 Nuxt 项目
nuxt·ci·目录·命令·准备·类型·nuxi
zzzzzzzz'22 天前
个人旅游网(2)——功能详解——用户登录注册功能
java·redis·web·登录·注册·验证码
Amd79423 天前
使用 nuxi clean 命令清理 Nuxt 项目
缓存·开发·nuxt·工具·项目·清理·命令
亿牛云爬虫专家1 个月前
如何用Python Selenium和WebDriver抓取LinkedIn数据并保存登录状态
python·selenium·爬虫代理·登录·webdriver·代理ip·linkedin