haproxy 配置文件修改

增,删,改,查,主要功能实现,小功能不完善,后续修改!

 1 # -*- coding:utf-8 -*-
 2 # Author:JinYu
 3 
 4 
 5 import json
 6 s='{"backend":"www.baidu.com","record":{"server":"172.168.0.98","weight":21,"maxconn":31}}'
 7 print(s)
 8 
 9 import sys,time,os,json
10 
11 #进度条
12 def Progress():
13     print("\033[34;1m操作中,请等待!\033[0m".center(30,"*"))
14     for i in range(5):
15         sys.stdout.write('\033[36;1m>\033[0m')
16         sys.stdout.flush()
17         time.sleep(0.1)
18 
19 #查询
20 def Query(url):
21     query_url ='backend %s' %url.lower()
22     with open('haproxy','r') as f:
23         for i in f:
24             if query_url in i:
25                 Progress()
26                 print(f.readline().strip())
27                 exit()
28         print('\033[31;1m未找到查询地址....\033[0m')
29 
30 #删除
31 def Delete(data_json):
32     del_titie  = data_json["backend"]
33     del_record = data_json["record"]
34     data_title  ='backend %s' %(del_titie)
35     data_record ="server %s weight %s maxconn %s" \
36                  %(del_record["server"],del_record["weight"],del_record["maxconn"])
37     print(data_title)
38     with open('haproxy','r') as read_f, open('tempfile','w') as write_f:
39         for line in read_f:
40             if line.replace("","").strip() == data_title:
41                 pass
42             elif line.replace("","").strip() == data_record:
43                 pass
44             else:
45                 write_f.write(line)
46     os.rename('haproxy','haproxy.bak')
47     os.rename('tempfile','haproxy')
48     Progress()
49     print('\033[31;1m删除成功\033[0m\n')
50 
51 
52 
53 def Added(data_json):
54     del_titie  = data_json["backend"]
55     del_record = data_json["record"]
56     data_title  ='backend %s' %(del_titie)
57     data_record ="server %s weight %s maxconn %s" \
58                  %(del_record["server"],del_record["weight"],del_record["maxconn"])
59     data_temp = '%s\n\t%s'%(data_title,data_record)
60     print(data_temp)
61     #exit()
62     with open('haproxy','a+') as write_f:
63         write_f.write('\n'+data_temp)
64     Progress()
65     print('新增成功\n')
66 
67 
68 
69 #主函数
70 if __name__ == '__main__':
71     print ('\033[34;1m1.获取记录  2.添加记录  3.删除记录\033[0m')
72     character = input('\033[32;1m请输入功能码--->\033[0m')
73     if character == '1':
74         temp = input('\033[32;1m输入查询地址--->\033[0m')
75         Query(temp)
76 
77     elif character == '3':
78         temp = input('\033[32;1m输入删除的json参数--->\033[0m')
79         data_json = json.loads(temp)
80         Delete(data_json)
81 
82     elif character == '2':
83         temp = input('\033[32;1m输入插入的json参数--->\033[0m')
84         data_json = json.loads(temp)
85         Added(data_json)
86     else:
87         print('\033[35;1m输入功能码有误!请重新输入.......\033[0m')
88 #{"backend":"www.baidu.com","record":{"server":"100.100.100.100","weight":20,"maxconn":30}}
 1 aglobal
 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 listen stats :8888
14 stats enable
15 stats uri /admin
16 stats auth admin:1234
17 frontend oldboy.org
18 bind 0.0.0.0:80
19 option httplog
20 option httpclose
21 option forwardfor
22 log global
23 acl www hdr_reg(host) -i www.oldboy.org
24 use_backend www.oldboy.org if www
25 backend www.baidu.com
26 server 172.168.0.99 weight 20 maxconn 30
27 server 172.168.0.98 weight 21 maxconn 31
28 backend www.oldboy.org
29 server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
30 backend www.meilishuo.com
31 server 172.168.0.99 weight 20 maxconn 30
32 backend www.mogujie.com
33 server 172.168.0.99 weight 20 maxconn 30
34 backend www.wangyi.com
35 server 172.168.0.99 weight 20 maxconn 30
36 backend www.xinlang.com
37 server 172.168.0.99 weight 20 maxconn 30
配置文件内容

 

 

 

posted on 2017-01-10 13:31  Baylor_Chen  阅读(364)  评论(0)    收藏  举报

导航