fabric是一个python库,可以通过SSh在多个host上批量执行任务,使用者可以自己编写任务脚本,然后通过fabric在本地就可以使用SSH在大量远程服务器上自动执行,非常适合应用的自动化部署和执行系统管理任务。
这里简单介绍下使用fabric跳过跳板机在远程执行命令。
目标:跨越跳板机远程执行命令并返回执行结果
fanbric:1.14.0 os:centos7 python:2.7
跳板机ip:192.168.17.131 目标机ip:192.168.17.130
1)centos7自带python2.7,使用如下命令安装fabric:
yum install -y fabric #默认安装的是1.14.0版本
2)编写脚本如下(文件名必须是fabfile.py):
该脚本主要功能是通过跳板机131在130上创建/tmp/www.txt文件并执行‘ls /tmp’命令。
env.gateway 用来指定跳板机ip;
env.hosts用来指定远程目标机,可以指定多个,如['[email protected]','[email protected]'];
env.passwords用来指定跳板机和目标机的密码信息;
run函数主要用来指定具体在远程执行的命令
3)执行该脚本:
安装完fabric后系统中会有fab命令,使用该命令可以直接使用fabric执行python脚本,需要注意的是参数不是py结尾的文件而是具体的函数名称:
fab test
脚本执行结果:
结束!