python 操作haproxy配置文件
来源:互联网 发布:华硕笔记本游戏优化 编辑:程序博客网 时间:2024/06/13 02:51
raw_input 获取的用户输入是字符串
input_str = raw_input("请输入内容:")
#如:
#用户输入:123 则 input_str = "123"
#用户输入:hello 则 input_str = "hello"
#用户输入:{"k1":123, 'k2': 'eddy'} 则 input_str = " {'k1':123, 'k2': 'eddy'} "
################# raw_input 获取到的输入都是字符串、字符串、字符串 !!!!!!! #################
因为raw_input 获取的是字符串,所以用户输入的 " {'k1':123, 'k2': 'eddy'} " 不具有字典的特性,也就不能使用 dic['key'] 来获取值
如果想要将用户输入的内容转换下格式,
"{'k1':123, 'k2': 'eddy'}" 字符串转换成字典类型
"[11,22,33,44]" 字符串转换成列表类型
json模块
json模块的作用之一:根据字符串书写格式,将字符串自动转换成相应格式
import json
inp_str = "[11,22,33,44]"
inp_list = json.loads(inp_str) # 根据字符串书写格式,将字符串自动转换成 列表类型
inp_str = " {'k1':123, 'k2': 'eddy'} "
inp_dict = json.loads(inp_str) # 根据字符串书写格式,将字符串自动转换成 字典类型
输出:
1、获取ha记录
2、增加ha记录
3、删除ha记录
num = raw_input('请输入操作序号:')
如果用户输入的 1:
read = raw_input('请输入backend:') 如输入:www.eddy.org
讲配置文件 backend www.eddy.org 节点下的所有记录获取到,并输入到终端
如果用户输入的 2:
read = raw_input('请输入要新加的记录:') 如: {'backend': 'test.eddy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}}
# 讲read字符串转换成 字典类型
read_dict = json.loads(read)
backend_title = read_dict['backend']
# 去配置文件中找到指定的节点:
# backend test.eddy.org
# 如果已经存在,
# 则在此节点下添加根据用输入构造出的记录,例如:
server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
# 如果不存在,
# 则添加backend节点和记录,例如:
backend test.eddy.org
server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
# (可选)可以再对节点下记录进行判断是否已经存在
如果用户输入的 3:
read = raw_input('请输入要删除的记录:') 如: {'backend': 'test.eddy.org','record':{'server': '100.1.7.9','weight': 20,'maxconn': 30}}
# 讲read字符串转换成 字典类型
read_dict = json.loads(read)
backend_title = read_dict['backend']
#去配置文件中找到指定的节点,并在删除指定记录,如:
backend test.eddy.org
server 100.1.7.10 100.1.7.10 weight 20 maxconn 3000
server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000 # 删除掉
# (可选)如果backend下所有的记录都已经被删除,那么将当前 backend test.eddy.org 也删除掉。
原配置文件
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 eddy.org
bind 0.0.0.0:80
option httplog
option httpclose
option forwardfor
log global
acl www hdr_reg(host) -i www.eddy.org
use_backend www.eddy.org if www
backend www.eddy.org
server 100.1.7.9 100.1.7.9 weight 20 maxconn 3000
backend buy.eddy.org
server 100.1.7.90 100.1.7.90 weight 20 maxconn 3000
- python 操作haproxy配置文件
- python模拟sed操作haproxy配置文件
- 函数模块-HAproxy配置文件操作
- 用python修改haproxy配置文件
- python操作haproxy.cfg文件
- python案例1---修改haproxy的配置文件
- haproxy.cfg 配置文件 python脚本管理
- HAProxy配置文件haproxy.cfg解释
- python操作配置文件
- python操作conf配置文件
- Python 操作配置文件
- python配置文件操作
- Python 配置文件的操作
- python操作cfg配置文件
- python ConfigParser操作配置文件
- python操作配置文件
- haproxy配置文件详解
- haproxy配置文件详解
- CSS3新增样式-borderRadius的使用
- ReactNative学习中遇到的坑
- 配合字体图标的搜索框
- Redis介绍及Redis与Memcache的区别
- 升级log4j2.x异步日志
- python 操作haproxy配置文件
- postgresql 时间函数j2day
- 几何学
- 古文、诗词的理解
- sql数据表分区
- 以同步的方式运行 Gulp 任务和任务中的步骤
- HDU 5327 Olympiad
- ScyllaDB:用 C++ 重写后的 Cassandra ,性能提高了十倍
- Java程序员的职业生涯学习建议