diff --git a/plugins/mysql/index.py b/plugins/mysql/index.py index 4690d459f..cb5912dc0 100755 --- a/plugins/mysql/index.py +++ b/plugins/mysql/index.py @@ -654,6 +654,32 @@ def setDbBackup(): return mw.returnJson(True, 'ok') +def importDbBackup(): + args = getArgs() + data = checkArgs(args, ['file', 'name']) + if not data[0]: + return data[1] + + file = args['file'] + name = args['name'] + + file_path = mw.getRootDir() + '/backup/database/' + file + file_path_sql = mw.getRootDir() + '/backup/database/' + file.replace('.gz', '') + + if not os.path.exists(file_path_sql): + cmd = 'cd ' + mw.getRootDir() + '/backup/database && gzip -d ' + file + mw.execShell(cmd) + + pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root') + + mysql_cmd = mw.getRootDir() + '/server/mysql/bin/mysql -uroot -p' + pwd + \ + ' ' + name + ' < ' + file_path_sql + + # print(mysql_cmd) + os.system(mysql_cmd) + return mw.returnJson(True, 'ok') + + def deleteDbBackup(): args = getArgs() data = checkArgs(args, ['filename']) @@ -1770,6 +1796,8 @@ if __name__ == "__main__": print(getDbList()) elif func == 'set_db_backup': print(setDbBackup()) + elif func == 'import_db_backup': + print(importDbBackup()) elif func == 'delete_db_backup': print(deleteDbBackup()) elif func == 'get_db_backup_list': diff --git a/plugins/mysql/js/mysql.js b/plugins/mysql/js/mysql.js index 3175702a8..80cae440a 100755 --- a/plugins/mysql/js/mysql.js +++ b/plugins/mysql/js/mysql.js @@ -856,6 +856,13 @@ function downloadBackup(file){ window.open('/files/download?filename='+encodeURIComponent(file)); } +function importBackup(file,name){ + myPost('import_db_backup',{file:file,name:name}, function(data){ + // console.log(data); + layer.msg('执行成功!'); + }); +} + function setBackup(db_name,obj){ myPost('get_db_backup_list', {name:db_name}, function(data){ @@ -867,6 +874,7 @@ function setBackup(db_name,obj){