Exemplo n.º 1
0
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
Exemplo n.º 2
0
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()
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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