diff --git a/script/gspylib/common/DbClusterInfo.py b/script/gspylib/common/DbClusterInfo.py index 6a41a8824c243f0e830fa3330037ed86212acbdf..e871287d1354dcf8a6b25af0f20f182b952742c5 100644 --- a/script/gspylib/common/DbClusterInfo.py +++ b/script/gspylib/common/DbClusterInfo.py @@ -6106,8 +6106,11 @@ class dbClusterInfo(): " Error: \n%s." % str(output) + "The cmd is %s" % cmd) output_list = self.__getStatusByOM(user) - output_last_info = output_list[-1].split() - output_num = int(output_last_info[0]) + output_num = 0 + pattern = re.compile("(\d+) (.*) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) (.*)") + for contont in output_list: + if pattern.search(contont): + output_num += 1 tempstatus = output_list[-output_num:] statusdic = {'Primary': 0, 'Standby': 1, 'Cascade': 3, 'Unknown': 9} try: diff --git a/script/local/Resetreplconninfo.py b/script/local/Resetreplconninfo.py index 225dcd91042043d5508d67a5b757988a88bbc76f..b8813bd245e7a18047840bc6d4dfcb8fb688128f 100644 --- a/script/local/Resetreplconninfo.py +++ b/script/local/Resetreplconninfo.py @@ -23,6 +23,7 @@ import getopt import os import sys import subprocess +import re sys.path.append(sys.path[0] + "/../") from gspylib.common.GaussLog import GaussLog @@ -140,8 +141,11 @@ class Resetreplconninfo(): output: NA """ output_list = self.__getStatusByOM() - output_last_info = output_list[-1].split() - output_num = int(output_last_info[0]) + output_num = 0 + pattern = re.compile("(\d+) (.*) (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) (.*)") + for contont in output_list: + if pattern.search(contont): + output_num += 1 status_list = output_list[-output_num:] repl_list = ['replconninfo' + str(i) for i in range(1, len(status_list))]