for ipLine in fc: if ipLine.split(): ## 去掉空行 if ipLine.startswith("telIP"): sIP = ipLine.split("=")[1].strip() # 电信公网IP if time.gmtime().tm_min == 57 or not sDb.exists(sIP, "ip"): ## 每小时的第57分钟,初始化公共报警开关 sDb.initDb10(sIP) for srv in srvs: srvFlag = srv.split("/")[-1] flags.append(srvFlag) #区服标识 plat_Sid if not sDb.exists(srvFlag, "srv"): ## Redis库中不存在该服区标识,初始化一机多服配置报警开关 sDb.initDb10(srvFlag) fixCfgStat = os.stat(DIRs["FIX_CFG_FILE"]) # 配置文件状态 if fixCfgStat.st_size < 300: ## 配置文件大小小于300字节,运行colFixInfo.runCollect() colFixInfo = ServerFixInfo() # 获取本机信息,写入配置文件 colFixInfo.runCollect() #生成配置文件fixConfig.py,存放服务器信息 else: if time.time() - fixCfgStat.st_ctime > 1985: ## 生成时间是1985s以前,运行colFixInfo.runCollect() colFixInfo = ServerFixInfo() colFixInfo.runCollect() colPubInfo = ServerPubliceInfo() fixData = colPubInfo.runCollect() #生成post数据(公共部分) runCmd("sh /data/sh/monitor/Alive/shell/runTop.sh") ## 执行一次top命令,输出到指定文件 #print fixData pool = Pool(18) resu = pool.map(batchColData, flags) #多进程调用batchColData函数,参数为本机区服列表 pool.close() pool.join()
def getRaidCard(self): try: runCmd("sh /data/sh/monitor/Alive/shell/runRaidCli.sh") except Exception,err: saveLog.error("getRaidCard() run runRaidCli.sh error occured: %s" % str(err))