Print

某价值客户DBman备份失败

2021-08-31 发表

组网及说明

冷备模式下,普通PLAT集中式部署

问题描述

主备机进行dbman备份,主机备份时直接报错,提示备份失败,备机使用之前的备份文件可以进行手工恢复

过程分析

由于现场现象,通过尝试手工备份单个数据库可以备份成功,自动备份全量数据库失败,因此认为是某个数据库异常或者配置文件不匹配造成,因此这类问题需要收集主机和备机的dbman.log和dbamn_debug.log,通过查看对应时间点的dbman日志可以看到相关报错:

2021-08-17 04:00:04 [INFO] [runCommand] runCommand result FAIL. ret=1, errno=121, WIFEXITED(ret)=1, WEXITSTATUS(ret)=1

2021-08-17 04:00:04 [DEBUG] [CDbBackup::BackupOneLocalZipFile] Exec shell log:"..\etc\cmdb_zip.bat" 不是内部或外部命令,也不是可运行的程序或批处理文件。

2021-08-17 04:00:04 [DEBUG] [Remove] Remove file: D:\Program Files\iMC\dbman\bin\dbop.sql.log

2021-08-17 04:00:04 [WARNING] [CDbBackup::BackupOneLocalZipFile] Execute BeforeBackupSQLScript failed.

2021-08-17 04:00:04 [INFO] [sendTrapAlert] Send trap success

2021-08-17 04:00:04 [WARNING] [CDbBackup::BackupAllDataBase] Execute BeforeBackupSQLScript failed.

2021-08-17 04:00:04 [ERROR] [TimeBackup] Auto backup all db failed

通过日志发现,cmdb_zip.bat不是内部或外部命令,也不是可运行的程序或批处理文件,此类报错为dbman.conf文件异常导致

解决方法

某个bat文件有如下报错时不是内部或外部命令,也不是可运行的程序或批处理文件,可以尝试点击“配置”进行刷新conf文件

conf文件损坏后可以直接将dbman中的dbman.conf删除后再次点击“配置”后,设置自动备份任务,程序执行成功