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中配置文件分为两 ...
随机推荐
- C++ 编译报错discards qualifiers [-fpermissive]
声明了一个类 class Card { public: Card(const string&); int m_value; char m_suit; private: const static ...
- angular 过滤排序
<table class="table"> <thead> <tr> <th ng-click="changeOrder('id ...
- iOS数据本地化
本篇随笔除了介绍 iOS 数据持久化知识之外,还贯穿了以下内容: (1)自定义 TableView,结合 block 从 ViewController 中分离出 View,轻 ViewControll ...
- 【小瑕疵】在div里插入img后在底部留有缝隙怎么解决
[本文转载自http://blog.sina.com.cn/s/blog_9fd5b6df01013mld.html] 图片IMG与容器下边界之间有空隙怎么办?这里介绍3中简单的解决方法. 第一,给图 ...
- Executor框架学习笔记
Java中的线程即是工作单元也是执行机制,从JDK 5后,工作单元与执行机制被分离.工作单元包括Runnable和Callable,执行机制由JDK 5中增加的java.util.concurrent ...
- C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)
下面来进行这段代码的分析: struct node { //定义一个结构体node(节点) int x; int y; int len; //node中有3个成员变量x,y,l ...
- 卷积神经网络CNN总结
从神经网络到卷积神经网络(CNN)我们知道神经网络的结构是这样的: 那卷积神经网络跟它是什么关系呢?其实卷积神经网络依旧是层级网络,只是层的功能和形式做了变化,可以说是传统神经网络的一个改进.比如下图 ...
- spring计划任务
Spring3中加强了注解的使用,其中计划任务也得到了增强,现在创建一个计划任务只需要两步就完成了: 创建一个Java类,添加一个无参无返回值的方法,在方法上用@Scheduled注解修饰一下: 在S ...
- python-day 练习1
#!/usr/bin/env python# -*- coding:utf-8 -*-'''需求: a. 元素分类 有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90 ...
- ⑤JS返回格式化的当前时间和上周时间
首先对时间进行格式化 返回上周时间和当前时间