day_ha配置文件
流程图:
代码
#!/sur/bin/env python
# -*- coding: utf-8 -*-
#{"backend": "www.oldboy.org","record":{"server": "100.1.7.90","weight": 20,"maxconn": 30}}
import json
import sys def add_ha(backend_de):
backend_dic = json.loads(backend_de)
backend_add = 'server %s weight %s maxconn %s'%(backend_dic['record']['server'],backend_dic['record']['weight'],+backend_dic['record']['maxconn'])
with open("haproxy.conf") as read_f,open("ceshi","w") as write_f :
for lines in read_f.readlines():
write_f.write(lines)
write_f.write('backend'' '+backend_dic['backend']+'\n')
write_f.write(' '*8+backend_add) # def delet_ha(backend_de):
backend_dic = json.loads(backend_de) ##将字符串转换为相印的数据类型
backned_check=list(bakcned_dic['backend']) #www.oldboy.org
backend_del = ' server %s weight %s maxconn %s\n'%(backend_dic['record']['server'],backend_dic['record']['weight'],+backend_dic['record']['maxconn']) ##数据类容
with open("haproxy.conf") as read_f,open("ceshi","w") as write_f :
for lines in read_f.readline():
backend_list=[]
backend_list.append(lines.strip())
backend_list.append(lines)
if lines.strip().split()[2] == backned_check:
continue
elif backend_del == lines :
backend_list.remove(lines)
write_f.write(backend_list) def change_ha(backend_de):
backend_dic = json.loads(backend_de) ##将字符串转换为相印的数据类型
backned_check=list(bakcned_dic['backend']) #www.oldboy.org
backend_del = ' server %s weight %s maxconn %s\n'%(backend_dic['record']['server'],backend_dic['record']['weight'],+backend_dic['record']['maxconn']) ##数据类容
with open("haproxy.conf") as read_f,open("ceshi","w") as write_f :
for lines in read_f.readline():
backend_list=[]
backend_list.append(lines.strip())
backend_list.append(lines)
if lines.strip().split()[2] == backned_check:
write_f.write(backend_del)
continue
elif backend_del == lines :
print("类容已存在,请确定后再修改")
sys.exit()
write_f.write(backend_list) while True:
number_ha = int(input("1、添加\n2、删除\n3、修改\n请输入以上阿拉伯数字:"))
if number_ha == 1:
backend_de=input("请输入backend:") #如输入:["bakcend","www.oldboy.org"]
add_ha(add_file)
elif number_ha == 2:
backend_de=input("请输入要删除的bakcned:") #如 www.oldboy.org
delet_ha(delet_file)
elif number_ha == 3:
backend_de=input("请输入要删除的bakcned:")
change_ha()
else:
print("你输入的功能有误,请重新输入")
continue
代码
ha配置文件
frontend oldboy.org
bind 0.0.0.0:80 backend www.oldboy.org
server 100.1.7.9 1020.1.7.9 weight 20 maxconn 3000 backend buy.oldboy.org
server 100.1.7.90 100.1.7.90 weight 20 maxconn 30000
HA配置文件代码
day_ha配置文件的更多相关文章
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(64)-补充WebApi与Unity注入-配置文件
系列目录 上一篇演示了WebApi利用Unity注入 很多人问我如何用配置文件来配置注入,本节演示如何利用配置文件来注入,道理是一样的,跳转到上一节下载源码一起来动手! 1.打开源码定位到文件Depe ...
- Spring配置文件标签报错:The prefix "XXX" for element "XXX:XXX" is not bound. .
例如:The prefix "context" for element "context:annotation-config" is not bound. 这种 ...
- nginx服务器安装及配置文件详解
nginx在工作中已经有好几个环境在使用了,每次都是重新去网上扒博客,各种编译配置,今天自己也整理一份安装文档和nginx.conf配置选项的说明,留作以后参考.像负载均衡配置(包括健康检查).缓存( ...
- C#开发中使用配置文件对象简化配置的本地保存
C#开发中使用配置文件对象简化配置的本地保存 0x00 起因 程序的核心是数据和逻辑,开发过程中免不了要对操作的数据进行设置,而有些数据在程序执行过程中被用户或程序做出的修改是应该保存下来的,这样程序 ...
- 使用T4模板生成不同部署环境下的配置文件
在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据 ...
- 配置文件Java读写
今天把配置文件的Bug修复了,总结一下Java配置文件如何读写 配置文件的格式 以.properties后缀结尾,内容不出现空格和双引号 //config.properties Driver=com. ...
- .NET平台开源项目速览(1)SharpConfig配置文件读写组件
在.NET平台日常开发中,读取配置文件是一个很常见的需求.以前都是使用System.Configuration.ConfigurationSettings来操作,这个说实话,搞起来比较费劲.不知道大家 ...
- DotNet程序配置文件
在实际的项目开发中,对于项目的相关信息的配置较多,在.NET项目中,我们较多的将程序的相关配置直接存储的.config文件中,例如web.config和app.config. .NET中配置文件分为两 ...
随机推荐
- Spring Cloud搭建微服务架构----前言
前言 微服务并不神秘,只是在互联网技术发展过程中的一个产物,整个架构系统随着客户端的多样性,服务越来越多,devops的发展而产生的架构变种. 许多公司,通过采用微处理结构模式解决单体应用的问题,分解 ...
- C# 弱引用WeakReferance
在应用程序代码内实例化一个类或结构时,只要有代码引用它,就会形成强引用.例如,如果有一个类MyClass(),并创建一个变量MyClassVariable来引用该类的对象,那么只要在 MyClassV ...
- FrameBuffer系列 之 介绍
1. 来由 FrameBuffer是出现在2.2.xx内核当中的一种驱动程序接口.Linux工作在保护模式下,所以用户态进程是无法象 DOS 那样使用显卡 BIOS里提供的中断调用来实现直接写 ...
- Linux(ubuntu)安装MediaWiki
本篇文档所述步骤,作者完全验证过.一切OK. 作者:http://gaoxingf.blog.51cto.com/612518/188132,Younger Liu 本作品采用知识共享署名-非商业性使 ...
- JavaScript 中有关Array操作的一些函数
JavaScript的Array可以包含任意数据类型,并通过索引来访问每个元素. 要取得Array的长度,直接访问length属性: var arr = [1, 0.222, 'Hi', null, ...
- windows下nodejs安装及配置
1)在 http://nodejs.org/download/下载一个window的安装包 2)运行安装包,设置安装路径,如安装到D:\nodejs,安装后会自动将d:\nodejs添加到系统变量pa ...
- poj2352树状数组
Astronomers often examine star maps where stars are represented by points on a plane and each star h ...
- hdu3829最大独立集
The zoo have N cats and M dogs, today there are P children visiting the zoo, each child has a like-a ...
- SQL中LEFT JOIN 和 inner join 的区别
student表 sc 表 首先where条件a.Sid = b.Sid 查询 SELECT * FROM student a,sc b WHERE a.Sid = b.Sid GROUP BY a. ...
- Django models Fild详解
本文参考自:django官方文档models/field 在model中添加字段的格式一般为: field_name = field_type(**field_options) 一 field o ...