当前位置:   article > 正文

Python下Fabric的使用_python 2.7.18 支持 fabric?

python 2.7.18 支持 fabric?
文中部分内容整理自官方文档。如果文中出现错误,欢迎指出与交流。
  • 1

Fabric是什么?

Fabric 是一个 Python的库和命令行工具,用来提高基于 SSH 的应用部署和系统管理效率。可以实现与远程服务器的自动化交互。Fabric底层基于paramiko模块。其特点即为简单高效,并且支持多线程。在需要运维数十台至几百台机器(视情况而定)的情况下非常好用。但如果需要运维上千台并不推荐使用Fabric,可以尝试使用saltstack。

Fabric的使用

在搞清Fabric的作用后,我们可以尝试通过一些简单的程序,来更加深入的了解Fabric。

注:文中实验环境均为Centos7.3。使用的python版本为python2.7。

安装Fabric模块

需要先安装paramiko模块(上文提到了,Fabric基于这个模块)。

#yum  install  gcc  python-crypto  python-devel  python-paramiko  -y
  • 1

通过pip命令安装Fabric

#pip  install  fabric
  • 1

如果没有pip命令,可以通过以下命令安装:

#yum install  python-pip
  • 1

至此Fabric模块就安装好了。

Hello Fabric

一个合格的教程,一定少不了hello world这个国际惯例:

#vim  fabfile.py      
  • 1

注:fabric执行的时候会默认寻找当前路径下的fabfile.py文件。如果文件名为其它,需要在执行的时候通过-f 文件名的方式手动指定文件。

def hello()print "hello world"
  • 1
  • 2

Fabric脚本执行并不使用python命令,而是使用fab命令(在安装模块时会一起安装)。所以这个脚本的执行方法为:

#fab  hello    #hello对应脚本中你想执行的函数名。
Hello world!

Done.
  • 1
  • 2
  • 3
  • 4

#fab -f  你的文件名   hello   #此方法针对文件名不为fabfile时
  • 1

至此我们便基于Fabric完成了一个非常简单的脚本,甚至连Fabric模块都不需要导入。但从中大家可以了解到Fabric脚本就是在文件中定义一个或多个函数,函数中是你要执行的任务。然后通过fab命令执行fabfile.py文件,执行你要执行的函数。

Fabric.api模块

Fabric.api是Fabric中最常用也是最核心的模块。可以使用此模块来实现与远程服务器的交互。简单的使用这些API就可以完成大部分应用场景的需求。

常用api 说明 例子
local 在本地执行命令 local(‘username -r’)
run 在远程执行命令 run(‘username -r’)
lcd 切换本机路径 lcd(‘/usr’)
cd 切换远程服务器路径 cd(‘/usr’)
put 上传文件到远程服务器 put(‘本地文件’,’远程路径’)
get 从远程服务器下载文件 get(‘远程文件’,’本地路径’)
prompt 获取用户输入(类似input) prompt(‘input path’)
confirm 让用户确认是否继续 confirm(‘continue?’)
env 定义全局信息,如主机、密码等 env.hosts=’localhost’
例子一:

注:Fabric基于paramiko模块,paramiko底层就是调用ssh命令来对远程主机进行管理。所以要使用Fabric来管理远程主机,要保证服务器端开启sshd服务,并且保证可以成功访问。

查看本地和远程主机的内核版本。

  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/447433
推荐阅读
相关标签
  

闽ICP备14008679号