Как я могу подсчитать политики, назначенные для виртуальных серверов на основе имен виртуальных серверов, которые я ранее нашел, и записать их в другой список? - PullRequest
0 голосов
/ 15 апреля 2019

Я не смог выполнить это задание, не могли бы вы помочь, я нашел массив add_lb vserver 3. с помощью кода ниже,

    wordcount_add=0
    for line_add in open('ns.conf'):
     if "add lb vserver" in line_add:
       wordcount_add += 1
       sline_add = line_add.split(' ')
       lbvserver = sline_add[3]
       #print (lbvserver)
    print ("add: ", wordcount_add)

    ns.conf
    add lb vserver lbvs_aaaa
    add lb vserver lbvs_bbbb
    add lb vserver lbvs_cccc
    add lb vserver lbvs_dddd
    bind lb vserver lbvs_aaaa dos_policy_1
    bind lb vserver lbvs_aaaa dos_policy_2
    bind lb vserver lbvs_aaaa dos_policy_3
    bind lb vserver lbvs_aaaa dos_policy_4
    bind lb vserver lbvs_aaaa bot_policy_1
    bind lb vserver lbvs_aaaa bot_policy_2
    bind lb vserver lbvs_aaaa bot_policy_3
    bind lb vserver lbvs_aaaa bot_policy_4
    bind lb vserver lbvs_bbbb dos_policy_1
    bind lb vserver lbvs_bbbb dos_policy_2
    bind lb vserver lbvs_bbbb dos_policy_3
    bind lb vserver lbvs_bbbb dos_policy_4
    bind lb vserver lbvs_bbbb bot_policy_1
    bind lb vserver lbvs_bbbb bot_policy_2
    bind lb vserver lbvs_bbbb bot_policy_3
    bind lb vserver lbvs_bbbb bot_policy_4

    and i want to use this
    lbvs_aaaa
    lbvs_bbbb
    lbvs_cccc
    lbvs_dddd
    i could write them as a list too.
    ['lbvs_aaaa','lbvs_bbbb','lbvs_cccc','lbvs_dddd']

, и я хочу использовать этот список с циклом for длягруппировать и рассчитывать правила для доса и ботов, основанные на этих серверах, которые уже есть.

в и я хочу написать с помощью группировки и подсчета

    lbvs_aaaa have 4 dos policies
              have 4 bot policies 
    lbvs_bbbb have 4 dos policies
              have 4 bot policies

как я могу это сделать,не могли бы вы помочь, я нашел их совокупно, но не смог сгруппировать их.

когда я пытаюсь выполнить цикл, можно взять только одну строку,

     print("------------------------")
     print("sline_add: ", sline_add[3])
     print("sline_bot: ", sline_bot[3])
     count_result=0
     if sline_add[3] == sline_bot[3]:
       count_result += 1

    wordcount_bot=0
      for line_bot in open('ns.conf'):
        if "bind lb vserver" in line_bot:
          if "lbvs_" in line_bot:
            if "bot_policy_" in line_bot:
              wordcount_bot += 1
              print (line_bot)
    print ("bot: ", wordcount_bot)

    wordcount_dos=0
       for line_dos in open('ns.conf'):
          if "bind lb vserver" in line_dos:
             if "dos_policy_" in line_dos:
                wordcount_dos += 1
                #print (line_dos)
    print ("dos: ", wordcount_dos)

я хочу получить результат на основевсе vservers в loadbalancer сначала находят их с помощью add lb vserver, и у меня есть список вроде lbvs_aaaa lbvs_bbbb lbvs_cccc lbvs_dddd

, и в результате я хочу получить список с циклом for из всех элементов вышеупомянутого спискасо списком bind lb vserver и сравнением его 3. элементов массива, если эти 3.array-элементы совпадают, хотят подсчитать номер своей политики и записать мои счетные числа.
Я застрял в этой точке, я не могу сгруппировать tПодол.

     lbvs_aaaa have 4 dos policies
               have 4 bot policies 
     lbvs_bbbb have 4 dos policies
               have 4 bot policies
     lbvs_cccc have 4 dos policies
               have 4 bot policies
     lbvs_dddd have 4 dos policies
               have 4 bot policies

Как я могу это сделать?Не могли бы вы помочь, спасибо.

...