From 2e592cba04106af4a941f64b827be7445192f32e Mon Sep 17 00:00:00 2001 From: midoks Date: Mon, 15 Feb 2021 12:36:26 +0800 Subject: [PATCH] up --- plugins/mysql/index.py | 51 +++++++++++++++++++++++++++++++++++ plugins/mysql/js/mysql.js | 57 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 104 insertions(+), 4 deletions(-) diff --git a/plugins/mysql/index.py b/plugins/mysql/index.py index 341c64d46..07ca29da4 100755 --- a/plugins/mysql/index.py +++ b/plugins/mysql/index.py @@ -627,6 +627,46 @@ def __createUser(dbname, username, password, address): pdb.execute("flush privileges") +def getDbBackupListFunc(dbname=''): + bkDir = mw.getRootDir() + '/backup/database' + blist = os.listdir(bkDir) + r = [] + + bname = 'db_' + dbname + blen = len(bname) + for x in blist: + fbstr = x[0:blen] + if fbstr == bname: + r.append(x) + return r + + +def getDbBackupList(dbname=''): + args = getArgs() + data = checkArgs(args, ['name']) + if not data[0]: + return data[1] + + r = getDbBackupListFunc(args['name']) + bkDir = mw.getRootDir() + '/backup/database' + rr = [] + for x in xrange(0, len(r)): + p = bkDir + '/' + r[x] + data = {} + data['name'] = r[x] + + rsize = os.path.getsize(p) + data['size'] = mw.toSize(rsize) + + t = os.path.getctime(p) + t = time.localtime(t) + + data['time'] = time.strftime('%Y-%m-%d %H:%M:%S', t) + rr.append(data) + + return mw.returnJson(True, 'ok', rr) + + def getDbList(): args = getArgs() page = 1 @@ -650,6 +690,15 @@ def getDbList(): field = 'id,pid,name,username,password,accept,ps,addtime' clist = conn.where(condition, ()).field( field).limit(limit).order('id desc').select() + + for x in xrange(0, len(clist)): + dbname = clist[x]['name'] + blist = getDbBackupListFunc(dbname) + # print(blist) + clist[x]['is_backup'] = False + if len(blist) > 0: + clist[x]['is_backup'] = True + count = conn.where(condition, ()).count() _page = {} _page['count'] = count @@ -1692,6 +1741,8 @@ if __name__ == "__main__": print(initMysqlPwd()) elif func == 'get_db_list': print(getDbList()) + elif func == 'get_db_backup_list': + print(getDbBackupList()) elif func == 'add_db': print(addDb()) elif func == 'del_db': diff --git a/plugins/mysql/js/mysql.js b/plugins/mysql/js/mysql.js index 7be89beca..afd5e5428 100755 --- a/plugins/mysql/js/mysql.js +++ b/plugins/mysql/js/mysql.js @@ -842,6 +842,52 @@ function openPhpmyadmin(name,username,password){ },200); } +function setBackup(db_name){ + myPost('get_db_backup_list', {name:db_name}, function(data){ + + var rdata = $.parseJSON(data.data); + var tbody = ''; + for (var i = 0; i < rdata.data.length; i++) { + tbody += '\ + ' + rdata.data[i]['name'] + '\ + ' + rdata.data[i]['size'] + '\ + ' + rdata.data[i]['time'] + '\ + \ + 删除\ + \ + '; + } + + layer.open({ + type: 1, + title: "数据库备份详情", + area: ['600px', '280px'], + closeBtn: 2, + shadeClose: false, + content: '
\ +
\ + \ +
\ +
\ +
\ + \ + \ + \ + \ + \ + \ + \ + \ + \ + ' + tbody + '\ +
文件名称文件大小备份时间操作
\ +
\ +
\ +
' + }); + }); +} + function dbList(page, search){ var _data = {}; @@ -867,10 +913,14 @@ function dbList(page, search){ ''+ ''+ ''; - // list += '备份'; + + list += ''+rdata.data[i]['ps']+''; - list += '' + - '管理 | ' + + list += ''; + + list += ''+(rdata.data[i]['is_backup']?'备份':'未备份') +' | '; + + list += '管理 | ' + '工具 | ' + '权限 | ' + '改密 | ' + @@ -1620,7 +1670,6 @@ function masterOrSlaveConf(version=''){ getAsyncMasterDbList(); getAsyncDataList() } - }); } getMasterStatus();