Пример #1
0
def parse_binlogfirst(insname, binname, countnum):
    flag = True
    pc = prpcrypt()
    for a in insname.db_name_set.all():
        for i in a.db_account_set.all():
            if i.role == 'admin':
                tar_username = i.user
                tar_passwd = pc.decrypt(i.passwd)
                flag = False
                break
        if flag == False:
            break
    connectionSettings = {
        'host': insname.ip,
        'port': int(insname.port),
        'user': tar_username,
        'passwd': tar_passwd
    }
    binlogsql = binlog2sql.Binlog2sql(connectionSettings=connectionSettings,
                                      startFile=binname,
                                      startPos=4,
                                      endFile='',
                                      endPos=0,
                                      startTime='',
                                      stopTime='',
                                      only_schemas='',
                                      only_tables='',
                                      nopk=False,
                                      flashback=False,
                                      stopnever=False,
                                      countnum=countnum)
    binlogsql.process_binlog()
    sqllist = binlogsql.sqllist
    return sqllist
Пример #2
0
def parse_binlogfirst(insname, binname, countnum):
    flag = True
    pc = prpcrypt()
    db_account = Db_account.objects.filter(instance=insname,
                                           db_account_role='admin')
    if len(db_account) > 0:
        tar_username = db_account[0].user
        tar_passwd = pc.decrypt(db_account[0].passwd)
        connectionSettings = {
            'host': insname.ip,
            'port': int(insname.port),
            'user': tar_username,
            'passwd': tar_passwd
        }
        binlogsql = binlog2sql.Binlog2sql(
            connectionSettings=connectionSettings,
            startFile=binname,
            startPos=4,
            endFile='',
            endPos=0,
            startTime='',
            stopTime='',
            only_schemas='',
            only_tables='',
            nopk=False,
            flashback=False,
            stopnever=False,
            countnum=countnum)
        binlogsql.process_binlog()
        sqllist = binlogsql.sqllist
        return sqllist
    else:
        return ['Instance do not have admin role db account!']
Пример #3
0
def parse_binlog(serverid,binname_start,begintime,tbname,dbselected,username,countnum,flash_back,binname_end='',endtime=''):
    flag = True
    pc = prpcrypt()
    insname = Db_instance.objects.get(id=serverid)
    db_account = Db_account.objects.filter(instance=insname, db_account_role='admin')
    if len(db_account) > 0:
        tar_username = db_account[0].user
        tar_passwd = pc.decrypt(db_account[0].passwd)

        connectionSettings = {'host': insname.ip, 'port': int(insname.port), 'user': tar_username, 'passwd': tar_passwd}
        binlogsql = binlog2sql.Binlog2sql(connectionSettings=connectionSettings, startFile=binname_start,
                                          startPos=4, endFile=binname_end, endPos=0,
                                          startTime=begintime, stopTime=endtime, only_schemas=None if dbselected == '0' else dbselected,
                                          only_tables=None if tbname == '0' else tbname, nopk=False, flashback=flash_back, stopnever=False,countnum=countnum)
        binlogsql.process_binlog()
        sqllist = binlogsql.sqllist
        # sendmail_sqlparse.delay(username, dbselected, tbname, sqllist,flash_back)
        sendmail_sqlparse.delay(username, '{}:{}__{}'.format(insname.ip,insname.port,'ALL' if  dbselected == '0' else dbselected), tbname, sqllist, flash_back)
        print sqllist
        return sqllist
    else:
        return ['Instance do not have admin role db account!']
Пример #4
0
def parse_binlog(serverid, binname, begintime, tbname, dbselected, username,
                 countnum, flash_back):
    flag = True
    pc = prpcrypt()
    insname = Db_instance.objects.get(id=serverid)
    for a in insname.db_name_set.all():
        for i in a.db_account_set.all():
            if i.role == 'admin':
                tar_username = i.user
                tar_passwd = pc.decrypt(i.passwd)
                flag = False
                break
        if flag == False:
            break
    connectionSettings = {
        'host': insname.ip,
        'port': int(insname.port),
        'user': tar_username,
        'passwd': tar_passwd
    }
    binlogsql = binlog2sql.Binlog2sql(connectionSettings=connectionSettings,
                                      startFile=binname,
                                      startPos=4,
                                      endFile='',
                                      endPos=0,
                                      startTime=begintime,
                                      stopTime='',
                                      only_schemas=dbselected,
                                      only_tables=tbname,
                                      nopk=False,
                                      flashback=flash_back,
                                      stopnever=False,
                                      countnum=countnum)
    binlogsql.process_binlog()
    sqllist = binlogsql.sqllist
    sendmail_sqlparse.delay(username, dbselected, tbname, sqllist, flash_back)