From 667be49980fbdd1ef6e184b3a3467d2965a04e29 Mon Sep 17 00:00:00 2001 From: yksitu <1297650644@qq.com> Date: Fri, 17 Jan 2025 18:37:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(sqlserver):=20=E4=BF=AE=E5=A4=8D=E5=A4=87?= =?UTF-8?q?=E4=BB=BD=E6=96=87=E4=BB=B6=E5=B7=A1=E6=A3=80=E7=9A=84bug=20#91?= =?UTF-8?q?36?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../local_tasks/sqlserver/backup_file_check.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/dbm-ui/backend/db_periodic_task/local_tasks/sqlserver/backup_file_check.py b/dbm-ui/backend/db_periodic_task/local_tasks/sqlserver/backup_file_check.py index c93f69d362..5b2b33f037 100644 --- a/dbm-ui/backend/db_periodic_task/local_tasks/sqlserver/backup_file_check.py +++ b/dbm-ui/backend/db_periodic_task/local_tasks/sqlserver/backup_file_check.py @@ -156,18 +156,26 @@ def check_backup_info_in_bk_log(self, backup_infos: list, tag: str): # 遍历没有backup_id的备份任务 for backup_id, logs in backup_id__valid_logs.items(): + if len(logs) == 0: + # 如果这里聚合条数为0,直接返回异常 + check_result += _("备份 ID[{}] 在日志平台找不到任何记录\n ".format(backup_id)) + is_normal = False + continue + # 按照备份任务,查询在备份系统上报情况 task_ids = [i["task_id"] for i in logs] + backup_host = logs[0].get("host", logs[0].get("backup_host")) + backup_port = logs[0].get("port", logs[0].get("backup_port")) result = self.check_backup_file_in_backup_system(task_ids=task_ids) if result: - check_result += f"[{backup_id}][{logs[0]['host']}:{logs[0]['port']}] {result}\n" + check_result += f"[{backup_id}][{backup_host}:{backup_port}] {result}\n" is_normal = False # 判断每个备份任务的备份文件行数,跟bk_log上传的日志是否一致 if len(logs) != logs[0]["file_cnt"]: check_result += _( "备份 ID[{}][{}:{}] 备份文件记录数量不符合预期,预期数量: {}, 实际数量: {} \n ".format( - backup_id, logs[0]["host"], logs[0]["port"], logs[0]["file_cnt"], len(logs) + backup_id, backup_host, backup_port, logs[0]["file_cnt"], len(logs) ) )