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中配置文件分为两 ...
随机推荐
- 一款好用的分页插件用于regularJS
最近在用一款来自网易的javascript MVC 框架regularJS来写项目,这是网易一位叫郑海波的大神写的一款框架,所谓regualrJS, 作者这样取名主要是因为这个框架更像是angular ...
- Linux防火墙配置—允许转发
一.实验目标 在上一次"Linux基础网络搭建实验"中,内.外网虚拟机之所以能Ping通,是因为暂时关闭了防火墙,然而现实中这样操作显然存在很大的安全隐患,所以本次实验在上次实验的 ...
- xmlplus 组件设计系列之六 - 下拉刷新
"下拉刷新"由著名设计师 Loren Brichter 设计,并应用于 Twitter 第三方应用 Tweetie 中.2010年4月,Twitter 收购 Tweetie 开发商 ...
- sfdfssd
[TOC] Disabled options TeX (Based on KaTeX); Emoji; Task lists; HTML tags decode; Flowchart and Sequ ...
- uname命令
uname用于显示系统信息. 语法: uname [option]... 选项: -a:显示所有信息: -s:显示内核名称: -n:显示主机名: -r:显示内核版本: -v:显示更多的内核版本信息: ...
- 网络编程:I/O复用
I/O多路复用是在多线程或多进程编程中常用技术.主要是通过select/epoll/poll三个函数支持的.在此主要对select和epoll函数详细介绍. select函数 该函数运行进程指示内核等 ...
- [刷题]算法竞赛入门经典(第2版) 5-4/UVa10763 - Foreign Exchange
题意:有若干交换生.若干学校,有人希望从A校到B校,有的想从B到C.C到A等等等等.如果有人想从A到B也刚好有人想从B到A,那么可以交换(不允许一对多.多对一).看作后如果有人找不到人交换,那么整个交 ...
- Scala基础 - 下划线使用指南
下划线这个符号几乎贯穿了任何一本Scala编程书籍,并且在不同的场景下具有不同的含义,绕晕了不少初学者.正因如此,下划线这个特殊符号无形中增加Scala的入门难度.本文希望帮助初学者踏平这个小山坡. ...
- spring boot --- 初级体验
Spring boot的介绍我就不多说了,网上可以自己看一下. 它的优点就是:快!适合小白,没有复杂的配置文件. 缺点也很明显:坑有些多, 文档略少,报错有时不知道该如何处理. 下面做个最简单的入门: ...
- 通过ssh远程ipython notebook登录使用服务器
远程服务器有时候我们这里通过虚拟机登录服务器的winclient会发生冲突,怎么办呢?曲线救国,使用SSH登录. 首先在远程机器上,启动IPython notebooks服务: remote_user ...