作业:
对haproxy配置文件进行操作
要求:
对haproxy配置文件中backend下的server实现增删改查的功能
一、这个程序有二个版本
1、 python2.7版本见haproxy_python27.py
2、 python3.4版本见haproxy_python34.py
二、具体实现了如下功能:
1、输入1,进入backend菜单,查询server信息
2、输入2,进入backend菜单,添加server条目
3、输入3,进入backend菜单,选择server条目,进入修改环节
4、输入4,进入backend菜单,选择server条目,进入删除环节
5、输入5,退出程序
三、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 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.9 100.1.7.9 weight 20 maxconn 3000 server 100.1.7.10 100.1.7.10 weight 10 maxconn 2000 frontend mysql bind *:3306 mode tcp log global default_backend mysqlserver backend mysqlserver server mysql1 10.1.1.110:3306 weight 20 maxconn 300 server mysql2 10.1.1.120:3306 weight 10 maxconn 200
四、流程图如下:
五、python2.7代码:
#!/usr/bin/python27 #_*_ coding=utf-8 _*_ ''' Created on 2016年1月17日 @author: 王凯 ''' import os,sys,re,time from collections import defaultdict,OrderedDict ######################raw_input输入字符类型转化函数####################### def input_handle(s): if str.isdigit(s): ###对输入是否是数字进行判断### s = int(s) ###如果输出的是个数字,则转化为整数类型### return s ###返回输入字符### #####################名称或变量名输入判断函数############################# def name_decide(): (name,name_flag) = ('',True) ###初始化返回的名称和判断标志位### while name_flag: name_input = raw_input('