博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字符串实战
阅读量:4984 次
发布时间:2019-06-12

本文共 3515 字,大约阅读时间需要 11 分钟。

haproxy配置文件

思路:读一行,写一行

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  dontlognulllisten stats :8888        stats enable        stats uri       /admin        stats auth      admin:1234frontend 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 wwwbackend www.oldboy.org        server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000        backend buy.oldboy.org        server 100.1.7.90 100.1.7.90 weight 20 maxconn 3000配置文件

要求可以提取出指定的backend内容,也可以添加指定backend内容

#!/usr/bin/env python# -*- coding:utf-8 -*-  def fetch(backend):    result = []    with open('ha.conf', 'r') as f:        flag = False        for line in f:            if line.strip().startswith('backend') and line.strip() == "backend " + backend:                flag = True                continue            if flag and line.strip().startswith('backend'):                break            if flag and line.strip():                result.append(line.strip())     return result  def add(backend, record):    result = fetch(backend)    if not result:        # 无backend,无record        pass    else:        # 有backend        if record in result:            # 记录record            pass        else:            result.append(record)            with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:                continue_flag = False                for line in old:                     if line.strip().startswith('backend') and line.strip() == "backend " + backend:                        continue_flag = True                        new.write(line)                        for temp in result:                            new.write(" "*8 + temp + "\n")                        continue                     if continue_flag and line.strip().startswith('backend'):                        continue_flag = False                     if continue_flag:                        pass                    else:                        new.write(line)  def add2(backend, record):    with open('ha.conf', 'r') as old, open('new.conf', 'w') as new:        in_backend = False        has_backend = False        has_record = False        for line in old:            if line.strip().startswith('backend') and line.strip() == "backend " + backend:                has_backend = True                in_backend = True                new.write(line)                continue             if in_backend and line.strip().startswith('backend'):                if not has_record:                    new.write(" "*8 + record + '\n')                new.write(line)                in_backend = False                continue             if in_backend and line.strip() == record:                has_record = True                new.write(line)                continue             if line.strip():                new.write(line)         if not has_backend:            # 写backend,写record            new.write('backend '+ backend + '\n')            new.write(' '*8 + record + '\n')  # ret = fetch("www.oldboy.org")# print(ret) # add('www.oldboy.org', "server 100.1.7.10 100.1.7.10 weight 20 maxconn 3000")# add2('www.oldboy.org', "server 100.1.7.11 100.1.7.11 weight 20 maxconn 3000")

  

转载于:https://www.cnblogs.com/LiCheng-/p/6442053.html

你可能感兴趣的文章
利用Flume将本地文件数据中收集到HDFS
查看>>
html5的优缺点
查看>>
Vim 加 Gmail 变身 Vmail
查看>>
P1294 高手去散步
查看>>
一次谷歌面试趣事
查看>>
(5) Orchard 开发之 Localization and NullLocalizer
查看>>
分类算法(1)--KNN
查看>>
每日记载内容总结3
查看>>
ajax等待请求
查看>>
NTP协议详解
查看>>
Java学习之equals和hashcode的关系
查看>>
一页纸商业计划书 (Business Plan) 模板(转载)
查看>>
什么是html
查看>>
妙用python之编码转换
查看>>
hdu 4451 Dressing 衣服裤子鞋 简单容斥
查看>>
TTTTTTTTTTTT Gym 100818B Tree of Almost Clean Money 树连剖分+BIT 模板题
查看>>
linux一些基本常识(四)
查看>>
Docker架构
查看>>
C#设计模式(3)——工厂方法模式
查看>>
过目不忘JS正则表达式
查看>>