python fabric批量管理多台server执行方法问题,pythonfabric,如下所示(port是可以
python fabric批量管理多台server执行方法问题,pythonfabric,如下所示(port是可以
如下所示(port是可以这么写的,目录不行),进入不同主机时自动进入到不同目录,执行xxx。对不同的server传入不同的路径,执行xxx。 谢谢!
env.hosts = [test@server1:path_to_dir_1, test@se rver2:path_to_dir_2 ,......]
def xxx():
pass
在我之前的项目是以全局配置项的形式来实现的,为每个host定义自己的work_dir等变量
host_configs = { "ip1": { "work_dir": path1 }, "ip2": { "work_dir": path2 },}
然后在fabric的task方法中通过env['host']作为key,去host_configs中去读取相应的work_dir信息,并执行相应操作
@taskdef some_task(): with cd(host_configs[env['host']]['work_dir']): do_some_stuff
fabric是可以对主机进行分组的,就像下边这个
from fabric import hosts,run@hosts('host1', 'host2')def mytask(): run('ls /var/www')
或者这个
from fabric.api import run, rolesenv.roledefs = { 'db': ['db1', 'db2'], 'web': ['web1', 'web2', 'web3'],}@roles('db')def do():. pass@roles('web')def do(): pass
看下官方文档,就都清楚了。
编橙之家文章,
相关内容
- 请问有Vim编辑器删除末尾空白字符操作快捷方式吗?,
- android解锁种数代码哪位python大神精通望指点,androidp
- 为什么我的for循环列表中最后一项总会被覆盖的原因是
- 我的python DHT11测温代码运行出错是如何解决,pythondht
- Python getattr报TypeError错误,getattrtypeerror,#-*-coding:u
- Python当前目录有同名模块请问如何导入内置socket模块,
- 请问django csrf文档中下面句话应该如何理解,djangocsrf
- 这段python django源码不处理PUT方法带表单什么原因,py
- 怎么处理Python解析服务器json格式数据,pythonjson,RT,服
- django正确使用csrf求高手指点,djangocsrf,每次要做csrf保护
评论关闭