2017-04-17 103 views
0

这里是python的新手。我需要将后端和前端服务器添加到haproxy.cfg文件,并通过python脚本进行优雅重新加载。你们中的一些人能否指出我正确的方向?如果您在代码中包含注释,它将极大地帮助我更快地理解。解析配置文件的Python脚本

下面是我想在发送到CFG的样品块,可能基于的raw_input([参数])

frontend fe:some_fe:bind:yyyy 
     mode tcp 
     bind x.x.x.x:yyyy name some_name 
     use_backend be:some_be:x.x.x.x:yyyy 

backend be:some_be:x.x.x.x:yyyy 
mode http 
     balance roundrobin 
     server x.x.x.x:yyyy check port yyyy 
     server x.x.x.x:yyyy check port yyyy 

一些注释 - X.X.X.X表示一个ip和YYYY的端口。

请帮忙!提前谢谢了。

+0

您可以参考[pyhaproxy](https://github.com/imjoey/pyhaproxy)库,它可以解析haproxy配置文件并在一些更改后回写。 – iterjpnic

回答

0

阅读的Python»3.6.1文档6.1.4. Template strings

编辑你的问题。因此,如与FE some_fe_:更换_fe $ {} some_fe

阅读的Python»3.6.1文档argparse.html#module-argparse

编辑你的问题,追加要使用命令行和你的​​代码工作用。

+0

非常感谢@stovfl。这应该工作,但我想知道如果我可以varibalise这一点多一点。对于一个实例“fe”作为变量和,因为它的值正在传递?进一步的字符串格式(空格,制表符等)应该看起来像这样。如果您有任何解决方案尝试后都因为我是一个学习者:) 'code'frontend FE::绑定: 模式TCP 绑定 use_backend是: '代码' – bindo

+0

谢谢。我正在寻找一种更快的方式来理解,但我猜我必须阅读文档并自己弄清楚。我会做,谢谢。 – bindo

+0

@ bindo:你错了,我为你解决问题。您必须阅读文档以确认这是您想要的。 – stovfl