一、介绍
Fabric是基于python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行的日志输出等功能。Fabric 比 paramiko 的基础上做了更高一层的封装,操作起来会更加简单。Fabric的官方网址为:http://www.fabfile.org/,目前最高版本为1.14.post1。
二、搭建实验环境
1、两台CentOS 7的虚拟机,一台叫server,它的IP地址为:192.168.80.128/24(你可以自己定),并在server中关闭防火墙。另外一台叫client,它的IP地址为:192.168.80.130/24(你可以自己定),并在client中关闭防火墙、安装fabric3。
2、可以用VMware中的完整克隆功能制作两台内存为1G的虚拟机,具体操作步骤如下(以VMware Workstation Pro 15为例):
①关闭虚拟机,调好虚拟机配置。
②按键盘上的”Ctrl-M”,进入”快照管理器”,点击”当前位置”,点击”克隆”。
③点击”下一步”。
④选择”虚拟机中的当前状态”,并点击”下一步”。
⑤选择”创建完整克隆”,并点击”下一步”(此时需要你选择足够大的硬盘来存放你的第二台虚拟机)。
⑥设置好路径,起好虚拟机名字”Client”,点击”下一步”并等待虚拟机克隆完成。
⑦完成,点击关闭。
⑧修改虚拟机其它配置
a.两台虚拟机的主机名
hostnamectl set-hostname 主机名
b.删除两台机器的uuid
vi /etc/sysconfig/network-scripts/ifcfg-网卡名(我的是ens33)
将”UUID”一行删除,保存并退出。
c.重启电脑
reboot
三、Fabric的安装
Fabric支持pip安装方式,很方便解决包依赖的问题,具体安装命令如下:
pip3 install fabric3
四、一个小例子
1、在client中编写脚本
【/home/tools/fabric3/fabfile.py】
# !/usr/bin/python from fabric.api import run # 定义一个任务函数,通过run方法实现远程执行’uname -s’命令 def host_type(): run(‘uname -s’) |
2、如何运行
①fab -f fabfile.py -H 远程主机IP地址(本地主机也行) host_type
②输入root密码
③执行成功