HAproxy配置文件操作:

1. 根据用户输入输出对应的backend下的server信息

2. 可添加backend 和sever信息

3. 可修改backend 和sever信息

4. 可删除backend 和sever信息

5. 操作配置文件前进行备份

6 添加server信息时,如果ip已经存在则修改;如果backend不存在则创建;若信息与已有信息重复则不操作

配置文件 参考 http://www.cnblogs.com/alex3714/articles/5717620.html

配置文件如下:

global        log 127.0.0.1 local2        daemon        maxconn 256        log 127.0.0.1 local2 infodefaults        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.9 weight 20 maxconn 3000

代码如下:
f = open("haproxy","r",encoding="gbk")
f_new = open("haproxy_new","w",encoding="gbk")
#将文件内容转换为一个列表,并定义一个变量。
b = f.readlines()
#定义三个选项:
option = ("1、请输入搜索的地址:","2、请输入增加的内容:","3、请输入删除的内容:")
#打印三个选项:
for i in option:print(i)
choice = input("请选择操作方式:序列号>>>")
#如果选择1,则进入查找选项。
if choice == "1" :data = input("请输入搜索地址:")#利用字符串拼接,定义一个变量,-----backend所在的行。address = "backend %s\n"%dataif address in b:#利用列表的下标来定位位置,然后通过下标打印内容。index_add = b.index(address)print(b[index_add],b[index_add+1])if address not in b:print("您查找的内容不存在")
#如果选择2,则进入增加内容选项:
if choice =="2":data = input("输入增加内容:")data_eval = eval(data)#通过列表计数器来判断输入的内容是否在列表中存在,如果计数器为0则不存在,如果计数器不为0则存在。#不存在则添加,存在则不添加。f_find = b.count("backend %s\n"%data_eval["backend"])#如果backend后的内容在文件中不能找到则新增。if f_find == 0:for line in b:f_new.write(line)#  for f_line2 in f:# #将输入的内容通过字符串拼接的形式写入文件中f_new.write("\nbackend  ")f_new.write(data_eval["backend"])f_new.write("\n        server %s weight %s maxconn %s"\%(data_eval["record"]["server"],data_eval["record"]["weight"]\,data_eval["record"]["maxconn"]))#如果backend后的内容在文件中能找到则不执行任何操作。if f_find != 0:print("您添加的内容已经存在")
#如果选择3,则进入删除内容选项:
if choice == "3":data = input("输入删除内容:")data_eval = eval(data)#通过列表计数器来判断输入的内容是否在列表中存在,如果计数器为0则不存在,如果计数器不为0则存在。#不存在则添加,存在则不添加。f_find = b.count("backend %s\n"%data_eval["backend"])#如果backend后的内容在文件中不能找到则新增。if f_find != 0:b_index=b.index("backend www.oldboy.org\n")b.pop(b_index)b.pop(b_index)for line in b:f_new.write(line)#如果backend后的内容在文件中不能找到则不执行任何操作。if f_find == 0:print("您输入的内容文件中不存在")
f.close()
f_new.close()

转载于:https://www.cnblogs.com/1dreams/p/6880205.html

修改haproxy配置文件相关推荐

  1. 5.修改haproxy配置文件

    需求: 1 1.查 2 输入:www.oldboy.org 3 获取当前backend下的所有记录 4 5 2.新建 6 输入: 7 arg = { 8 'backend': 'www.oldboy. ...

  2. 3-3 修改haproxy配置文件

    1.需求 2.个人思路 3.个人心得 4. 转载于:https://www.cnblogs.com/venicid/p/7272448.html

  3. CENTOS7 高性能Linux集群 通过yum进行 haproxy配置 !安装 !使用!HAProxy配置文件详解

    Haproxy配置 永久修改名字:便于区分虚拟机! Haproxy:hostnamectl set-hostname haproxy Web1: hostnamectl set-hostname WE ...

  4. 〖Demo〗-- HAproxy配置文件操作

    [HAproxy配置文件操作] 要求 1. 根据用户输入输出对应的backend下的server信息 2. 可添加backend 和sever信息 3. 可修改backend 和sever信息 4. ...

  5. linux修改mysql配置文件_忘记MySQL密码怎么办?一招教你搞定!

    在安装完 MySQL 或者是在使用 MySQL 时,最尴尬的就是忘记密码了,墨菲定律也告诉我们,如果一件事有可能出错,那么它一定会出错.那如果我们不小心忘记了 MySQL 的密码,该如何处理呢?别着急 ...

  6. 批量修改漫游配置文件路径

    系列导读: 本系列文章短小精悍,通过设置企业中AD用户帐户的配置文件来满足企业用户的业务需求. [二] 一次要改变大量的用户配置文件路径是非常累的事,因此今天和大家分享如何通过命令行工具来批量修改用户 ...

  7. Centos设置静态IP及修改Centos配置文件

    Centos设置静态IP及修改Centos配置文件 - 51CTO.COM Centos设置静态IP及修改Centos配置文件 2010-01-13 10:48 佚名 CSDN 我要评论(0) 字号: ...

  8. haproxy配置文件

    haproxy配置文件 vim haproxy.cfg #--------------------------------------------------------------------- # ...

  9. u8系统更改了服务器,u8修改服务器配置文件

    u8修改服务器配置文件 内容精选 换一换 YOUR_OS.iso用实际的iso包名代替.请确认已经备份所有repo文件后,在rm删除界面输入y表示同意删除.配置yum本地源.[Local] name= ...

最新文章

  1. 计算机主机的灯一直闪,电脑硬盘灯一直闪怎么办|电脑硬盘灯狂闪的解决方法...
  2. Cannot resolve corresponding JNI function
  3. 牛人iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
  4. MongoDB 4.2 内核解析 - Change Stream
  5. 【AD】Altium designer IPC快速创建封装
  6. IE6绿色中文版,支持在Win7、Win8下完美运行
  7. python核心编程:第六章。
  8. SVM中的间隔最大化
  9. eclipse 安装maven
  10. Unity3D的Android移动之路之平台依赖编译
  11. python 颜色大全 颜色对应 matplotlab plot 颜色对应
  12. bodymovin导出没有html5,AE脚本-导出json格式的Web动画工具 Bodymovin v5.5.3+使用教程
  13. stm32f107ptp时钟同步
  14. 如何用计算机测量图片景深,用手机也能测景深 DOF Master景深测量软件
  15. spring BeanPostProcessor使用场景
  16. 《领导力与沟通艺术》
  17. STM32F103_study64_The punctual atoms(Simulator and downloader)
  18. 【Github上有趣的项目】Deep-Flow-Guided-Video-Inpainting 从视频中抹去一个人(或消除马赛克)
  19. 【论文阅读】SyncPerf: Categorizing, Detecting, and Diagnosing Synchronization Performance Bugs
  20. 一。回合制游戏 加暴击 掉落 二。柜台商品管理系统

热门文章

  1. document的window对象
  2. Linq to SQL -- Select、Distinct和Count、Sum、Min、Max、Avg
  3. 三部排序|2013年蓝桥杯B组题解析第六题-fishers
  4. spring 基本配置学习
  5. C++ 的语言杂谈(一)--C++不是新手友好的
  6. ANSYS FLEXlm License Manager的卸载方法
  7. 我在大学毕业后学习Linux、python的一些经验
  8. Django(二)模板系统
  9. [js高手之路]打造通用的匀速运动框架
  10. C# 创建网站 无法启动与停止的问题