hxp
2025-06-09 6c3f6335c70859ded94a1ad8d218acb0ac34239c
Server/eventdata/CommFunc.py
@@ -315,8 +315,9 @@
    @return: 是否成功
    '''
    logging.info("loopCenterbakRarDR %s" % str(argvDict))
    allServer = argvDict.get("allServer", 0)
    mixServerIDInfo = argvDict.get("mixServerIDInfo", "")
    if not mixServerIDInfo:
    if not allServer and not mixServerIDInfo:
        queryBackupCenterError("can not found mixServerIDInfo!")
        return
    
@@ -334,9 +335,15 @@
    serverIDList = [OnlyServerID] if OnlyServerID else parseMixServerIDInfo(mixServerIDInfo)
    spfileFormat = "Event_%s-s" % spID
    
    logging.info("serverIDList=%s,spfileFormat=%s" % (serverIDList, spfileFormat))
    logging.info("allServer=%s,serverIDList=%s,spfileFormat=%s" % (allServer, serverIDList, spfileFormat))
    logloop = "logloop" in kv
    printloop = "printloop" in kv
    # 备份日期文件夹
    for backupDateFile in os.listdir(backupPath):
        if logloop:
            logging.info("backupDateFile:%s" % backupDateFile)
        if printloop:
            print "backupDateFile:%s" % backupDateFile
        backupDateStr = backupDateFile[len("Event_"):]
        backupDatetime = strToDatetime(backupDateStr)
        if not checkDate(startDatetime, "", backupDatetime):
@@ -351,7 +358,7 @@
                if not backupServer.startswith(spfileFormat):
                    continue
                serverInfo = backupServer[len(spfileFormat):]
                if not checkIsBackupServerFolder(serverIDList, serverInfo):
                if not allServer and not checkIsBackupServerFolder(serverIDList, serverInfo):
                    continue
                
                logging.info("loop %s" % os.path.join(backupPath, backupDateFile, backupServer))
@@ -398,13 +405,17 @@
            from unrar import rarfile # 放在函数内,子服用不到此模块,这样就不需要安装此依赖了
            # 备份分区文件夹
            for backupServer in os.listdir(os.path.join(backupPath, backupDateFile)):
                if logloop:
                    logging.info("  %s/%s" % (backupDateFile, backupServer))
                if printloop:
                    print "  %s/%s" % (backupDateFile, backupServer)
                if not backupServer.endswith(".rar"):
                    # 非rar文件的不处理
                    continue
                if not backupServer.startswith(spfileFormat):
                    continue
                serverInfo = backupServer[len(spfileFormat):-4]
                if not checkIsBackupServerFolder(serverIDList, serverInfo):
                if not allServer and not checkIsBackupServerFolder(serverIDList, serverInfo):
                    continue
                #logging.info("backupServer:%s" % backupServer)
                #rarfile.namelist() # 列表,rar文件中所有子文件的path(相对于rar文件包而言的)