fabric初探
程序员文章站
2024-03-21 22:27:16
...
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):
from fabric.api import env,run
import time
env.gateway = 'aaa@qq.com'
env.hosts = ['aaa@qq.com']
env.shell = "/bin/ash -c"
env.passwords = {
'aaa@qq.com:22':'123456',
'aaa@qq.com:22':'root'
}
def test():
while 1:
time.sleep(1.5)
try:
ret=run('ls /tmp')
print dir(ret)
print ret.succeeded
print ret.return_code
print ret
except SystemExit:
print 'SystemExit!!!!!'
pass
该脚本主要功能是通过跳板机131在130上循环执行‘ls /tmp’命令。
env.gateway 用来指定跳板机ip;
env.hosts用来指定远程目标机,可以指定多个,如['aaa@qq.com','aaa@qq.com'];
env.passwords用来指定跳板机和目标机的密码信息;
run函数主要用来指定具体在远程执行的命令
3)执行该脚本:
安装完fabric后系统中会有fab命令,使用该命令可以直接使用fabric执行python脚本,需要注意的是参数不是py结尾的文件而是具体的函数名称:
fab test
脚本执行结果:
结束!
推荐阅读
-
fabric初探
-
springCloud微服务初探
-
【手游逆向】初探Unity3d+il2cpp.so网游修改新手教程篇[内附所有相关工具下载地址和说明介绍】
-
Hyperledger Fabric1.4.2 主要更新内容:从Kafka迁移到Raft
-
sklearn初探(三):决策树及其可视化
-
FCN语义分割初探——使用训练好的模型进行分割
-
【手把手教你全文检索】Apache Lucene初探 博客分类: 【52】、【手把手教你全文检索】 lucene
-
RSA密码初探
-
hibernate注解初探 博客分类: Hibernate hibernate注解唯一性约束
-
hibernate注解初探 博客分类: Hibernate hibernate注解唯一性约束