开发haproxy管理平台
1.说明:该脚本仅适用于Linux操作系统2.使用方法: 在该脚本同级目录下要创建一个名字叫做 haproxy 的文件
haproxy 文件内容如下
global
log 127.0.0.1 local2
daemon
maxconn 256
log 127.0.0.1 local2 info
defaults
log global
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
option dontlognull listen stats :8888
stats enable
stats uri /admin
stats auth admin:1234 frontend oldboy.org
bind 0.0.0.0:80
option httplog
option httpclose
option forwardfor
log global
acl www hdr_reg(host) -i www.oldboy.org
use_backend www.oldboy.org if www backend www.oldboy.org
server 100.1.7.1 100.1.7.9 weight 20 maxconn 3000
server 100.1.7.2 100.1.7.9 weight 20 maxconn 3000
server 100.1.7.3 100.1.7.9 weight 20 maxconn 3000
3. haproxy平台管理脚本内容如下
# -*- coding:utf-8 -*-
import os,sys,time
file1 = "haproxy"
file2 = "haproxy"
list1=[]
list= []
list2=[]
list3 = []
list4 = []
print "\033[32;1m****************欢迎来到haproxy管理平台******************\033[0m"
while True: inputs = raw_input("\033[32;1m按a查询节点: 按b添加节点: 按c删除节点: 按q退出:\033[0m ")
if inputs =="a":
while True:
inputs1 = raw_input("\033[32;1m请输入要查询的backend名称: 按b返回上一级: 按q退出\033[0m")
if inputs1 =="b":
break
elif inputs1 =="q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
elif inputs1 =="www.oldboy.org":
f = open("haproxy")
ha_list = []
for i in f:
ha_list.append(i.strip())
b = int(ha_list.index("backend www.oldboy.org"))+1 while True:
title = "\033[32;1m服务器节点列表\033[0m"
print title.center(60, "*")
for i in ha_list[b:]:
print i
print "\033[32;1mend\033[0m".center(50,"*")
choice = raw_input("按b返回上一级: 按q退出程序:")
if choice =="b":
break
elif choice =="q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
else:
print "\033[31;1m输入错误,没有该节点,请重新输入节点名称:\033[0m"
elif inputs =="b":
data = raw_input("请输入要增加的节点:").strip()
c = eval(data)
a = c["record"]
#print a
for key in a:
#print key , a.get(key)
list.append(key)
list2.append(a.get(key))
#print list
#print list2
list.insert(2, list2[2])
list.insert(1, str(list2[1]))
list.insert(0, str(list2[0]))
list.reverse()
#print list strss = ' '.join(list)
strs = strss+"\n" print "************\033[32;1m新增加的节点信息如下\033[0m*************"
print strs
print "******************** end *************************"
v = open(file1)
f = open("test","a+")
for line in v:
f.write(line)
v.close()
f.write(strs)
f.close()
os.remove("haproxy")
os.rename("test",file2)
list = []
list2= []
elif inputs == "q":
print "\033[32;1m********感谢使用本系统,再见*********\033[0m"
exit()
elif inputs == "c":
print ""
z = open("haproxy")
for l in z:
list4.append(l.strip())
c = int(list4.index("backend www.oldboy.org")) + 1
t = 0
for p in list4[28:]:
t = t+1
print str(t) ,p
delete = raw_input("请输入要删除的节点编号:")
if delete =="":
f4 = open("haproxy","r")
f5 = open("test2","a+")
for i in f4:
if list4[28] in i:
continue
f5.write(i)
#print i
f4.close()
f5.close()
print "********成功移除该节点********"
os.remove("haproxy")
os.rename("test2", file2)
list4 = []
开发haproxy管理平台的更多相关文章
- ServiceStage-华为微服务开发与管理平台
前言 在上一篇文章一年前,我来到国企搞IT 中,和小伙伴分享了我在国企这一年当中的所见,所闻,所想,很高兴能够获得很多同道中人的共鸣.过去一年,我的很大一部分工作都投入到公司技术平台的建设中.Jira ...
- 基于Vue全家桶开发的前端组件管理平台
项目背景 项目背景是外包类建站公司里,设计环节沉淀了大量可复用组件,设计师往往只需要微调组件就拼凑出页面,交付给前端,理论上这些组件在前端也可以复用,但实际上前端每次都要重新实现整个页面,浪费很多人力 ...
- Go语言学习之13 日志管理平台开发
主要内容: 1. ElasticSearch介绍与使用2. kibana介绍与使用 1. ElasticSearch安装 详见上节内容2. kibana安装 (1) 下载ES,下载地址:https:/ ...
- 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1
点击返回自学华为IoT物流网 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1 实验1:OceanConnect平台实验 通过基本的编程操作与配置,帮助读者熟悉O ...
- 如何用Baas快速在腾讯云上开发小程序-系列2:搭建Phabricator开发管理平台
版权声明:本文由贺嘉 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/905333001487424158 来源:腾云阁 h ...
- API开发管理平台eoLinker AMS 4.1版本发布:加入聚合空间,发布AMS专业版等
eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台. eoLinker AMS 4.1更新内容: 1.新增" ...
- RTC — 软件协作开发管理平台
IBM Rational Team Concert (简称RTC )是构建在IBM Rational面向软件交付技术的下一代协作平台Jazz平台上的一个商用产品.一个协作式的软件开发环境,它包含了集成 ...
- Java EE开发课外事务管理平台
Java EE开发课外事务管理平台 演示地址:https://ganquanzhong.top/edu 说明文档 一.系统需求 目前课外兴趣培训学校众多,完善,但是针对课外兴趣培训学校教务和人事管理信 ...
- 微服务管理平台nacos虚拟ip负载均衡集群模式搭建
一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...
随机推荐
- iOS通讯录整合,兼容iOS789写法,附demo
苹果的通讯录功能在iOS7,iOS8,iOS9 都有着一定的不同,iOS7和8用的是 <AddressBookUI/AddressBookUI.h> ,但是两个系统版本的代理方法有一些变化 ...
- sourceTree忽略文件
*~.DS_Store*.xcworkspacexcuserdata Podfile.lockPods
- Android Studio 导入百度地图jar和so的正确方式
//这部分内容在百度地图的官方文档中写的比较模糊 //感觉在这种事情上浪费实际很不好,遂记录如下 //以下仅是方法之一 step1 下载sdk后解压,并把libs中的全部内容拷贝到app/libs目录 ...
- AFN3.0封装
总结了一下AFN3.0封装,也借鉴了其他人总结的,整理如下,希望多交流,互相进步 // // XJYSessionManager.h// // Created by XJY on 16/10/17. ...
- 敏捷开发与jira之阶段工作项概述
每次迭代都分这5个阶段,但每个阶段的时间根据版本情况定,最终目标是:第一个阶段拿到交付范围,在第五个阶段都完成,并拿到本次版本团队所消耗的工时. Jira是项目过程管理的一种手段,跟多体现在工时跟踪, ...
- 使用用户自定义类型 CLR UDT
一些复合类型进行范式分解是没有必要的,尤其是一些统一模型的情况下 SET NOCOUNT ON DECLARE @i TimeBalance SET @i = CAST(' ...
- Android Studio连接真机没反应?
刚好遇到这个问题,在网上百度了一下,看到有人分享了引起该问题的几个原因: 手机设置问题.开USB调试 方法: 手机设置 - 开发人员选项 - USB调试 - 勾选 数据线问题. 有的数据线只能用来充电 ...
- linux 学习随笔-shell基础知识
1:用户的shell历史命令保存在home/username/.bash_history中 #!! 执行用户的上一条命令 #!pw 执行命令历史中最近一次以pw开头的命令 2:'*'来匹配零或多个 ...
- Database 'xxxx' is being recovered. Waiting until recovery is finished.
巡检发现一个SQL SERVER Express 2005数据库备份时出现下面错误: Database 'xxxx' is being recovered. Waiting until recover ...
- MS SQL 错误 :17883,严重度: 1,状态: 0
公司一台老旧的SQL SERVER 2000 数据库,一周内会出现若干次(一次或多次)CPU 持续100%,导致应用程序没有反应的情况,如下图所示: 错误信息如下所示: 日期 2013/7/12 2: ...