标签:demo ica 配置 splay min hid remove and tle
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 原配置文件
1、查 输入:www.oldboy.org 获取当前backend下的所有记录 2、新建 输入: arg = { ‘bakend‘: ‘www.oldboy.org‘, ‘record‘:{ ‘server‘: ‘100.1.7.9‘, ‘weight‘: 20, ‘maxconn‘: 30 } } 3、删除 输入: arg = { ‘bakend‘: ‘www.oldboy.org‘, ‘record‘:{ ‘server‘: ‘100.1.7.9‘, ‘weight‘: 20, ‘maxconn‘: 30 } }
#!/usr/bin/env python # -*- coding:utf-8 -*- import json import os def fetch(backend): backend_title = ‘backend %s‘ % backend record_list = [] with open(‘ha‘) as obj: flag = False for line in obj: line = line.strip() if line == backend_title: flag = True continue if flag and line.startswith(‘backend‘): flag = False break if flag and line: record_list.append(line) return record_list def add(dict_info): backend = dict_info.get(‘backend‘) record_list = fetch(backend) backend_title = "backend %s" % backend current_record = "server %s %s weight %d maxconn %d" % (dict_info[‘record‘][‘server‘], dict_info[‘record‘][‘server‘], dict_info[‘record‘][‘weight‘], dict_info[‘record‘][‘maxconn‘]) if not record_list: record_list.append(backend_title) record_list.append(current_record) with open(‘ha‘) as read_file, open(‘ha.new‘, ‘w‘) as write_file: flag = False for line in read_file: write_file.write(line) for i in record_list: if i.startswith(‘backend‘): write_file.write(i+‘\n‘) else: write_file.write("%s%s\n" % (8*" ", i)) else: record_list.insert(0, backend_title) if current_record not in record_list: record_list.append(current_record) with open(‘ha‘) as read_file, open(‘ha.new‘, ‘w‘) as write_file: flag = False has_write = False for line in read_file: line_strip = line.strip() if line_strip == backend_title: flag = True continue if flag and line_strip.startswith(‘backend‘): flag = False if not flag: write_file.write(line) else: if not has_write: for i in record_list: if i.startswith(‘backend‘): write_file.write(i+‘\n‘) else: write_file.write("%s%s\n" % (8*" ", i)) has_write = True os.rename(‘ha‘,‘ha.bak‘) os.rename(‘ha.new‘,‘ha‘) def remove(dict_info): backend = dict_info.get(‘backend‘) record_list = fetch(backend) backend_title = "backend %s" % backend current_record = "server %s %s weight %d maxconn %d" % (dict_info[‘record‘][‘server‘], dict_info[‘record‘][‘server‘], dict_info[‘record‘][‘weight‘], dict_info[‘record‘][‘maxconn‘]) if not record_list: return else: if current_record not in record_list: return else: del record_list[record_list.index(current_record)] if len(record_list) > 0: record_list.insert(0, backend_title) with open(‘ha‘) as read_file, open(‘ha.new‘, ‘w‘) as write_file: flag = False has_write = False for line in read_file: line_strip = line.strip() if line_strip == backend_title: flag = True continue if flag and line_strip.startswith(‘backend‘): flag = False if not flag: write_file.write(line) else: if not has_write: for i in record_list: if i.startswith(‘backend‘): write_file.write(i+‘\n‘) else: write_file.write("%s%s\n" % (8*" ", i)) has_write = True os.rename(‘ha‘,‘ha.bak‘) os.rename(‘ha.new‘,‘ha‘) if __name__ == ‘__main__‘: """ print ‘1、获取;2、添加;3、删除‘ num = raw_input(‘请输入序号:‘) data = raw_input(‘请输入内容:‘) if num == ‘1‘: fetch(data) else: dict_data = json.loads(data) if num == ‘2‘: add(dict_data) elif num == ‘3‘: remove(dict_data) else: pass """ #data = "www.oldboy.org" #fetch(data) #data = ‘{"backend": "tettst.oldboy.org","record":{"server": "100.1.7.90","weight": 20,"maxconn": 30}}‘ #dict_data = json.loads(data) #add(dict_data) #remove(dict_data) demo
标签:demo ica 配置 splay min hid remove and tle
原文地址:http://www.cnblogs.com/python3-study/p/6082718.html