#编辑者:闫龙
importosimporttimedefSelectConf():"查询haproxy.conf中指定字段的内容"TitlesDic={};
count=0;
with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:
ConfRead=ConfFile.readlines();for i inConfRead:if (noti[0].isspace()):
count+= 1;
TitlesDic[count]={};
TitlesDic[count][i.strip()]= "";
Titles=i.strip();else:
TitlesDic[count][Titles]+=i;for i inTitlesDic.keys():
k=list(dict(TitlesDic[i]).keys())[0]print(i, k);
UserSelectTwo= input("请选择您要查询的字段>>>:");for i, j indict(TitlesDic[int(UserSelectTwo)]).items():print(i + "\n", j);defInsertConf():"在haproxy,conf中追加一段内容"
print("目前只能针对bakend字段进行添加操作")
bakend={}
com= "backend\t" + input("请输入域名:") + "\n"bakend[com]= "";
bakend[com]+= ("\tserver\t" + input("Server:") + "\t");
bakend[com]+= ("weight\t" + input("weight:") + "\t");
bakend[com]+= ("maxconn\t" + input("maxconn:") + "\n");
with open("haproxy.conf", mode="a+") as ConfFile:for i, j inbakend.items():
ConfFile.writelines(i+j);print("添加成功!")defUpdateConf():"修改haproxy.conf中的指定内容"
print("目前只能针对backend www.oldboy20.org字段进行修改操作")
bakend={}
WriteDic={};
com= "backend\t" + input("请输入域名:")
bakend[com]= "";
bakend[com]+= ("\tserver\t" + input("Server:") + "\t");
bakend[com]+= ("weight\t" + input("weight:") + "\t");
bakend[com]+= ("maxconn\t" + input("maxconn:") + "\n");
with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:
ConfRead=ConfFile.readlines();for i inConfRead:if (noti[0].isspace()):
Titles=i.strip();
WriteDic[Titles]= "";else:
WriteDic[Titles]+=i;
with open("haproxy.conf_new", mode="w+", encoding="utf8") as WriteNewFile:
WriteDic.pop("backend www.oldboy20.org")
WriteDic.update(bakend);for i, j inWriteDic.items():
WriteNewFile.writelines(i+ "\n" +j);
os.rename("haproxy.conf", "haproxy.conf_bak" + time.strftime("%Y%m%d%H%M%S"));
os.rename("haproxy.conf_new", "haproxy.conf");print("修改成功!")defDeleteConf():"删除haproxy.conf中的指定内容"TitlesDic={};
WriteDic={};
count=0;
with open("haproxy.conf", mode="r+", encoding="utf8") as ConfFile:
ConfRead=ConfFile.readlines();for i inConfRead:if (noti[0].isspace()):
count+= 1;
TitlesDic[count]={};
TitlesDic[count][i.strip()]= "";
Titles=i.strip();
WriteDic[Titles]= "";else:
TitlesDic[count][Titles]+=i;
WriteDic[Titles]+=i;for i inTitlesDic.keys():
k=list(dict(TitlesDic[i]).keys())[0]print(i, k);
UserSelectTwo= input("请选择您要删除的字段>>>:");
with open("haproxy.conf_new", mode="w+", encoding="utf8") as WriteNewFile:
WriteDic.pop(list(dict(TitlesDic[int(UserSelectTwo)]).keys())[0])for i, j inWriteDic.items():
WriteNewFile.writelines(i+ "\n" +j);
os.rename("haproxy.conf", "haproxy.conf_bak" + time.strftime("%Y%m%d%H%M%S"));
os.rename("haproxy.conf_new", "haproxy.conf");print("删除成功");