码迷,mamicode.com
首页 > 其他好文 > 详细

修改配置文件haproxy

时间:2016-12-30 22:03:06      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:pcl   选择   back   内容   choice   open   default   list   pre   

   文件内容

 1 global
 2 log 127.0.0.1 local2
 3 daemon
 4 maxconn 256
 5 log 127.0.0.1 local2 info
 6 defaults
 7 log global
 8 mode http
 9 timeout connect 5000ms
10 timeout client 50000ms
11 timeout server 50000ms
12 option  dontlognull
13 
14 listen stats :8888
15 stats enable
16 stats uri       /admin
17 stats auth      admin:1234
18 
19 frontend oldboy.org
20 bind 0.0.0.0:80
21 option httplog
22 option httpclose
23 option  forwardfor
24 log global
25 acl www hdr_reg(host) -i www.oldboy.org
26 use_backend www.oldboy.org if www
27 
28 
29 backend www.bigd.org                #节点bidg
30     server10.1.7.9 weight 20 maxconn 3000
31 
32 backend www.qq.com                 #qq节点
33     server171.8.7.7 weight 70 maxconn 3000

   代码部分

  1 #Author BigD
  2 # -*- coding:utf-8 -*-
  3 
  4 #修改配置文件haproxy
  5 # 1、查询节点下信息
  6 # 2、新建节点
  7 # 3、删除节点
  8 # 4、修改节点
  9 
 10 ###################################读取文件################################
 11 current_index = -1
 12 list = []
 13 dict_all = {}
 14 old_content = []
 15 print("有如下节点:")
 16 for index,line in enumerate(open("haproxy","r")):
 17 
 18     if line.startswith("backend"):
 19         current_index = index + 1
 20         nod = line.strip().split()[1]
 21 
 22         dict_all[nod.split(".")[1]]={}
 23         dict_all[nod.split(".")[1]]["bakend"] = nod
 24     elif index == current_index:
 25         dict_all[nod.split(".")[1]]["record"] = {}
 26         dict_all[nod.split(".")[1]]["record"]["server"] = line.strip().split()[1]
 27         dict_all[nod.split(".")[1]]["record"]["weight"] = line.strip().split()[3]
 28         dict_all[nod.split(".")[1]]["record"]["maxconn"] = line.strip().split()[5]
 29     else:
 30         old_content.append(line.strip())
 31 open("haproxy","r").close()
 32 ##########################代码正文###############################################
 33 while True:
 34     print("请选择需要的功能".center(50,"="))
 35     print("已有的节点:")
 36     for dict_one in dict_all:
 37         print(dict_one)
 38 
 39     print("现有功能:\n1、查询节点;\n2、增加节点;\n3、修改节点;\n4、删除节点\n5、退出。")
 40     choice = input("请选择你需要的功能:")
 41     if choice == "1":         #查询
 42         while True:
 43             choice_query = input("请输入查询的节点,退出(q):")
 44             if choice_query == "q":
 45                 break
 46             if choice_query in dict_all:                                            #查询
 47                 print("节点名称:",dict_all[choice_query]["bakend"])
 48                 print("ip地址:",dict_all[choice_query]["record"]["server"])
 49                 print("权重:",dict_all[choice_query]["record"]["weight"])
 50                 print("连接数:",dict_all[choice_query]["record"]["maxconn"])
 51             else:
 52                 print("wrong!")
 53 
 54     elif choice == "2":         #增加
 55         # print("增加")
 56         while True:
 57             add_simple_name = input("请输出节点简称")
 58             add_name = input("请输出节点名称")
 59             add_ip = input("请输出节点ip")
 60             add_weight = input("请输出节点权重")
 61             add_maxconn = input("请输出节点最大连接数")
 62             dict_all[add_simple_name]={}
 63             dict_all[add_simple_name]["bakend"] = add_name                      #节点简称
 64             dict_all[add_simple_name]["record"] = {}
 65             dict_all[add_simple_name]["record"]["server"] = add_ip              #节点ip
 66             dict_all[add_simple_name]["record"]["weight"] = add_weight          #节点权重
 67             dict_all[add_simple_name]["record"]["maxconn"] = add_maxconn        #节点最大连接数
 68             print("添加成功",dict_all[add_simple_name])
 69             break
 70     elif choice == "3":
 71         # print("修改")
 72         while True:
 73             modify_nod = input("你想修改哪个节点啊?退出(q)")
 74             if modify_nod == "q":
 75                 break
 76             if modify_nod in dict_all:
 77                 modify_nod
 78                 dict_all[modify_nod]["bakend"] = input("请输出修改后节点名称")
 79                 dict_all[modify_nod]["record"]["server"] = input("请输出修改后节点ip")
 80                 dict_all[modify_nod]["record"]["weight"] = input("请输出修改后节点权重")
 81                 dict_all[modify_nod]["record"]["maxconn"] = input("请输出修改后节点最大连接数")
 82     elif choice == "4":
 83         # print("删除")
 84         while True:
 85             delete_nod = input("你想删除那个节点呢,退出(q)?")
 86             if delete_nod == "q":
 87                 break
 88             if delete_nod in dict_all:
 89                 dict_all.pop(delete_nod)    #删除1
 90                 # del dict_all[delete_nod]    #删除2
 91                 print("删除成功!")
 92             else:
 93                 print("没有这个节点,重新输入!")
 94 
 95     elif choice == "5":
 96         # print("退出")
 97         open("haproxy", "w").write("")
 98         for i in old_content:
 99             # print(i)
100             open("haproxy", "a").write("%s\n"%i)
101             # open("haproxy_new", "a").write("\n")
102             #
103             # open("haproxy_new", "a").write(dict_all)
104         for i in dict_all:
105             print(i)
106             open("haproxy", "a").write("backend %s\n\tserver%s weight %s maxconn %s\n\n"%(dict_all[i]["bakend"],dict_all[i]["record"]["server"],dict_all[i]["record"]["weight"],dict_all[i]["record"]["maxconn"]))
107     else:
108         pass

现有功能:
1、查询节点;
2、增加节点;
3、修改节点;
4、删除节点
5、退出。
请选择你需要的功能:

修改配置文件haproxy

标签:pcl   选择   back   内容   choice   open   default   list   pre   

原文地址:http://www.cnblogs.com/dabingya/p/6238306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!