ubuntu 用于服务器配置的Python健全性检查器

wkftcu5l  于 2023-05-22  发布在  Python
关注(0)|答案(1)|浏览(96)

我对python非常陌生,正在编写一个脚本,它将从两个配置文件中提取一些URL。以下是截至目前的脚本正文:

import os
import sys
import logging

logger = logging.getLogger('check_store')
logger.setLevel(logging.DEBUG)

env= raw_input("Enter environmentname (ex. dev/qa/prod): ")
cust= raw_input("Enter customer name: ")

engage_properties= '/opt/engage/engageconf.properties'
symmetric_properties= '/opt/engage/symmetric.properties'

with open ("%s" % (engage_properties)) as inF:
    for line in inF:
        if ("%s-%s.%sfqdn.com" % (env,cust,env)) in line:
            print line

输出如下:

Enter environmentname (ex. dev/qa/prod): qa
Enter customer name: cust
connect.rest.address=http://connect.qa-cust.qafqdn.com

connect.rest.ssl.address=https://connect.qa-cust.qafqdn.com

connect.rest.giftregistry.service=http://connect.qa-cust.qafqdn.com:8280/services

receipt.server.host=engage.central.qa-cust.qafqdn.com

我试图完成的是让脚本专门寻找以下内容,如上所示:

connect.rest.address=
connect.rest.ssl.address=
connect.rest.giftregistry.service=

并且如果其中一个不正确则向用户报告。所以,如果我在提示时输入:'qa'表示env name,'cust'表示客户名称,如果这两个URL中有任何内容,而不是像这样的格式:

connect.qa-cust.qafqdn.com

则它将告诉用户三个URL变量中的哪一个没有被正确格式化。
所以,澄清一下。如果'connect.rest.ssl.address='不等于我提供的输入(等于qa-cust.qafqdn.com),但其余的都等于,那么我会看到这样的错误:

connect.rest.address - OK
connect.rest.ssl.address - ERROR: does not match value provided
connect.rest.giftregistry.service - OK

这个脚本基本上是一个环境健全性检查器。我试图尽可能地把这一点说清楚,我感谢你的帮助。

ar7v8xwq

ar7v8xwq1#

我不确定我是否正确地理解了这个问题,但是如果你期望文件中的任何一行都有正确的属性,那么如果这一行有部分而不是全部正确的格式,那就错了。

with open ("%s" % (engage_properties)) as inF:
for line in inF:
    if ("%s-%s.%srhythmforstores.com" % (env,cust,env)) in line:
        print line
    elif "rhythmforstores.com" in line:
        print error_message

相关问题