示例#1
0
def main():
    parser = OptionParser()
    parser.add_option("-u", "--user", action="store",help="username for the database system",default = None)
    parser.add_option("-p", "--password", action="store",help="password for target output",default = u'defaultPASS123')
    parser.add_option("-t", "--targetDir", action="store", help="database backup target directory",default = 'd:/tmp/backup')
    parser.add_option("-n", "--name", action="store", help="database name for backup",default = None)
    parser.add_option("-s", "--show", action="store", help="print time stamp of last backup",default = None)
    parser.add_option("-r", "--reset", action="store", help="reset backup timestamp",default = None)
    
    
    
    (options, args) = parser.parse_args()
    dbSysInst = dbSys.dbSysSmart()
    c = cfg.configuration(dbSysInst)
    
    if not (options.reset is None):
        del c[u"mongoBackupTimeStamp"]
        return
    
    if not c.has_key(u"mongoBackupTimeStamp"):
        t = None
    else:
        t = c[u"mongoBackupTimeStamp"]
    
    
    if not (options.show is None):
        print c[u"mongoBackupTimeStamp"]
        return
    #print options,args
    #tv = comparer.getMecacoreVector(options.case,options.tf,options.blk,options.point,options.ant)
    backupDbAuto(options.name, options.targetDir, options.password, options.user, t)
示例#2
0
def main():
    c = cfg.configuration()
    defaultTarget = os.path.join(c.get("host.root", "d:/tmp/fileman"), "backup/sync")
    parser = OptionParser()
    # parser.add_option("-u", "--user", action="store",help="username for the database system",default = None)
    parser.add_option("-i", "--ignore", action="store_true", help="no password for exported db", default=False)
    parser.add_option(
        "-t", "--targetDir", action="store", help="database backup target directory", default=defaultTarget
    )
    parser.add_option("-o", "--hostname", action="store", help="database name for backup", default=None)
    # parser.add_option("-n", "--name", action="store", help="database name for backup",default = None)
    # parser.add_option("-s", "--show", action="store", help="print time stamp of last backup",default = None)
    # parser.add_option("-r", "--reset", action="store", help="reset backup timestamp",default = None)

    (options, args) = parser.parse_args()
    if options.hostname is None:
        hostname = c.get("host.hostname", "q19420-01")
    else:
        hostname = options.hostname
    if options.ignore:
        print "Warning!!!.....No password for the db"
        password = None
    else:
        if 0 == len(args):
            print "Password is rquired, please enter the password following the command"
            # print args
            return
        password = args[0]
    exportDb(options.targetDir, password, hostname)
示例#3
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