代码
#/usr/bin/env python
#coding=utf-8
from fabric.api import *
# 定义机器列表
m110="root@192.168.0.110:22"
m228="root@192.168.0.228:22"
# 定义机器密码
env.passwords = {
m110:'123',
m228:'123'
}
# 定义机器分组
env.roledefs = {
'r110':[m110],
'rall':[m110,m228]
}
# 定义基本函数
def getuptime(): {
run('uptime')
}
# 定义组合函数
@roles('rall')
def all_getuptime(): {
getuptime()
}
满足场景
所有机器上查看uptime
fab all_getuptime
仅仅在110上面查看uptime
fab -H 192.168.0.110 getuptime
或者
fab -H m110 getuptime // 这种方式会报错,因为m110只允许在fabfile.py的内部调用
战术设想
- 3台机器
- 每个机器都必须满足基本条件
- 每个机器上分别部署一些软件
本文介绍如何使用Fabric进行批量操作,如在多台服务器上部署软件及检查系统运行状态。通过定义主机列表、密码和角色分组,实现自动化批量执行命令。
1312

被折叠的 条评论
为什么被折叠?



