zoukankan      html  css  js  c++  java
  • haproxy配置文件

    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.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 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
    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    #!/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 + " ")
                            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 + ' ')
                    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 + ' ')
                new.write(' '*8 + record + ' ')
     
     
    # 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")
  • 相关阅读:
    SAP 质检使用非物料基本单位
    ABAP基础二:ALV基础之ALV的简单编辑
    生产订单修改删除组件BDC
    创建生产订单函数BAPI_PRODORD_CREATE
    修改信贷限额函数
    客户信贷管理&临时授信
    sap快捷搜索菜单栏
    创建交货单/外向交货BAPI_OUTB_DELIVERY_CREATE_SLS/STO
    冲销交货单WS_REVERSE_GOODS_ISSUE
    批次更新BAPI_OBJCL_CHANGE
  • 原文地址:https://www.cnblogs.com/cp-miao/p/5617890.html
Copyright © 2011-2022 走看看