Python运维工具介绍1–fabric
2013-01-05 08:58
453 查看
Python运维工具介绍1–fabric - reyoung1110 - 博客园
安装easy_install或者pip
键入命令
将Python的Scripts目录放到Path中(好似只是windows需要,这个目录大概在你的Python安装目录下的Scripts文件夹)。
这样便可以自动化的在多台计算机上执行PrintCpuinfo命令。
在fabfile中配置HOST 我们可以在fabfile中,定义tast之前,加入如下代码,来配置要登录的host。
sudo: 和run类似,只是sudo之后运行
get/put: 使用sftp协议上传下载文件
local:本地运行命令
cd: 更改目录,使用
prompt: 类似于raw_input的命令,只是与env变量有交互。
reboot:重启。
fabric使用了极其原始和简单的api与远程计算机进行交互。这注定了其易用性,和可扩展性。。但是仅仅有fabric对于很多事情都是很困难的,例如跨操作系统的操作(ubuntu/centos)等。可能会在之后某篇文章中做一介绍。
Python运维工具介绍1–fabric
fabric是一个Python写的运维工具。他使用python完全实现了ssh客户端的协议。使得之前的服务器部署,维护,获得当前服务器状态等需要ssh上服务器的工作,可以完全的自动化运行。这种工具对于我这种喜欢折腾的人来说,无疑是种解脱。Get Start
如何安装
安装Python。 官方网站安装easy_install或者pip
键入命令
easy_install fabric或者
pip -U fabric
将Python的Scripts目录放到Path中(好似只是windows需要,这个目录大概在你的Python安装目录下的Scripts文件夹)。
Try Hello World
安装完毕后,我们就要体验一下fabric了。用你最喜欢的IDE将下面代码存成一个叫做”fabfile.py”的文件。代码如下:from fabric.api import * @task def PrintCpuinfo(): cmd_output = run("cat /proc/cpuinfo") print cmd_output这段代码的目的就是获得远端计算机上CPU的参数。并输出出来。写完代码后,我们使用命令行输入
fab PrintCpuinfo(一定要确定PATH中有个scripts哦)。就可以按照提示输入登录host,密码等等。
深入了解
配置Host
之前,在Hello World中,我们并未配置需要登录的Host,我们运行后,fabric会使用命令行交互获得需要登录的host和密码。但是,我们需要做的是自动化的去干这件事情。应该如何将登陆自动化呢?使用命令行参数
在调用fabric的时候,我们可以使用命令行参数-H确定这个命令需要在哪台主机,或者哪些台主机上运行。示例如下:
fab -H user1@host1,user2@host2 PrintCpuinfo
这样便可以自动化的在多台计算机上执行PrintCpuinfo命令。
在fabfile中配置HOST 我们可以在fabfile中,定义tast之前,加入如下代码,来配置要登录的host。
env.password = "password" env.hosts = ["a@host1","b@host2"]这样,使用
fab PrintCpuinfo的时候,便可以自动登录到远程计算机了而不需要输入密码了。
还有哪些命令?
在fabric中,不仅仅支持我们上面用到的run命令,同时还有如下命令:sudo: 和run类似,只是sudo之后运行
get/put: 使用sftp协议上传下载文件
local:本地运行命令
cd: 更改目录,使用
with cd("目录名"):来进行。
prompt: 类似于raw_input的命令,只是与env变量有交互。
reboot:重启。
fabric使用了极其原始和简单的api与远程计算机进行交互。这注定了其易用性,和可扩展性。。但是仅仅有fabric对于很多事情都是很困难的,例如跨操作系统的操作(ubuntu/centos)等。可能会在之后某篇文章中做一介绍。
相关文章推荐
- Python运维工具介绍1–fabric
- python自动运维工具之fabric使用
- Python自动化运维工具fabric的安装
- 【python】第二炮:运维工具fabric
- python实用小工具介绍
- 自动化运维工具ansible详细介绍
- Python实用工具介绍
- 自动化运维工具Fabric安装配置使用(CentOS6.3)
- Python的批量远程管理和部署工具Fabric用法实例
- [5]DevOps 自动化运维工具Chef---Unbuntu系统下,Chef Client 安装位置介绍
- Python几种开发工具介绍
- Python 命令行解析工具 Argparse介绍
- python aspect拦截工具介绍
- python在不同层级目录import模块的方法 作者:运维之路 字体:[增加 减小] 类型:转载 时间:2016-01-31 我要评论 这篇文章主要介绍了python 在不同层级目录import
- 开发运维工具组件介绍
- 2款Python内存检测工具介绍和使用方法
- 【转】Python开发工具的七种“工具”的介绍
- python运维之fabric
- Python开发工具的七种“工具”的介绍
- (转)介绍Python程序员常用的IDE和其它开发工具