def backupDbAuto(dbName, targetDir, password, user, timeStamp): finalRes = [] if user is None: dbSysInst = dbSys.dbSysSmart() else: dbSysInst = dbSys.dbSysSmart(sessionBase.sessionInstanceBase(user)) beforeTimeStamp = dbSysInst.getTimeStamp() if dbName is None: dbList = dbSysInst.getDbNameList() else: dbList = [dbName] for i in dbList: print i res = backupDbSingle(i, targetDir, password, user, timeStamp, beforeTimeStamp) finalRes.extend(res) #res = dictListEncryptor(res, password) #res = dictListDecryptor(res) s = json.dumps(finalRes, sort_keys=True, indent=4) #s = json.dumps(finalRes) f = open(os.path.join(targetDir, str(dbName)+'_for_user_'+str(user)+'.json'),'w') f.write(s) f.close() dbSysInst = dbSys.dbSysSmart() c = cfg.configuration(dbSysInst) c[u"mongoBackupTimeStamp"] = beforeTimeStamp
def backupDbSingle(dbName, targetDir, password, user): if user is None: dbSysInst = dbSys.dbSysSmart() else: dbSysInst = dbSys.dbSysSmart(sessionBase.sessionInstanceBase(user)) db = dbSysInst.getDb(dbName) res = [] e = enc.encryptor() if not os.path.exists(targetDir): misc.ensureDir(targetDir) for i in db.keys(): #print i #values = db.testFunc(i) values = db[i] encryptedValues = [] for i in values: print i.encode('gbk', 'replace') encryptedValues.append(e.en(i, password)) j = {"key":e.en(i, password), "value":encryptedValues, "encHash":unicode(md5.new(password).hexdigest())} res.append(j) #print res s = json.dumps(res, sort_keys=True, indent=4) f = open(os.path.join(targetDir, dbName+'_for_user_'+str(user)+'.json'),'w') f.write(s) f.close()
def getDb(self, user, dbName): try: db = self.dbDict[(user, dbName)] except KeyError: if user is None: dbSys = self.dbMod.dbSysSmart() else: dbSys = self.dbMod.dbSysSmart(sessionBase.sessionInstanceBase(user)) db = dbSys.getDb(dbName) self.dbDict[(user, dbName)] = db return db
def backupDbAuto(dbName, targetDir, password, user): if user is None: dbSysInst = dbSys.dbSysSmart() else: dbSysInst = dbSys.dbSysSmart(sessionBase.sessionInstanceBase(user)) if dbName is None: for i in dbSysInst.getDbNameList(): print i backupDbSingle(i, targetDir, password, user) else: backupDbSingle(dbName, targetDir, password, user)
def backupDbSingle(dbName, targetDir, password, user, afterTimeStamp, beforeTimeStamp): if user is None: dbSysInst = dbSys.dbSysSmart() else: dbSysInst = dbSys.dbSysSmart(sessionBase.sessionInstanceBase(user)) db = dbSysInst.getDb(dbName) res = [] if not os.path.exists(targetDir): misc.ensureDir(targetDir) for i in db.keysDuring(afterTimeStamp, beforeTimeStamp): #print i #values = db.testFunc(i) values = db[i] j = {"db": dbName, "user": user, "key":i, "value":values, "t": beforeTimeStamp} res.append(j) return res