Fabric 可以通过 SSH 在多台客户端主机上批量执行任务,是基于 paramiko 封装开发的,paramiko 更底层一些,安装方法如下:
[root@localhost ~]$ yum install -y python-devel # 先安装 python 开发包 [root@localhost ~]$ pip install pycrypto==2.3 # 安装 paramiko 的依赖包,paramiko 使用 ssh 登录需要用到 pycrypto 来提供加密算法,保证 ssh 安全性 [root@localhost ~]$ pip install paramiko==1.12.4 # 安装 Fabric 的依赖包,Fabric 是基于 paramiko 封装的 [root@localhost ~]$ pip install fabric==1.8.3 # 最后安装 Fabric,安装之后会提供 fab 命令,也会提供很多 Fabric 的 API
Fabric 简单用法:
[root@localhost ~]$ cat fabfile.py # 需要定义一个fabfile.py文件,文件名是固定的
from fabric.api import run # 使用Fabric提供的API,run用来执行命令 def getHostname(): # 定义一个函数,用来获取主机名 run(‘hostname‘)
[root@localhost ~]$ fab -H 192.168.216.130 getHostname # 通过 fab 命令来调用 fabfile.py 文件 [192.168.216.130] Executing task ‘getHostname‘ # -H 192.168.216.130 用于指定对哪个远程主机进行操作 [192.168.216.130] run: hostname # getHostname 表示执行 fabfile.py 文件里的哪个函数 [192.168.216.130] out: localhost.localdomain # 注意:使用 Fabric 的前提是保证 ssh 可以通过密钥登录 [192.168.216.130] out: Done. Disconnecting from 192.168.216.130... done.
Fabric 常用 API:
fab 命令:
原文:https://www.cnblogs.com/pzk7788/p/10357226.html