添加 清理BINLOG 功能

pull/144/head
midoks 3 years ago
parent a2e8f1edfb
commit 7c147fed69
  1. 9
      plugins/mysql/index.py
  2. 30
      plugins/mysql/js/mysql.js

@ -248,6 +248,13 @@ def binLog():
return mw.returnJson(True, '设置成功!') return mw.returnJson(True, '设置成功!')
def cleanBinLog():
db = pMysqlDb()
cleanTime = time.strftime('%Y-%m-%d %H:%i:%s', time.localtime())
db.execute("PURGE MASTER LOGS BEFORE '" + cleanTime + "';")
return mw.returnJson(True, '清理BINLOG成功!')
def setSkipGrantTables(v): def setSkipGrantTables(v):
''' '''
设置是否密码验证 设置是否密码验证
@ -2068,6 +2075,8 @@ if __name__ == "__main__":
print(getConf()) print(getConf())
elif func == 'bin_log': elif func == 'bin_log':
print(binLog()) print(binLog())
elif func == 'clean_bin_log':
print(cleanBinLog())
elif func == 'error_log': elif func == 'error_log':
print(getErrorLog()) print(getErrorLog())
elif func == 'show_log': elif func == 'show_log':

@ -1031,10 +1031,18 @@ function myLogs(){
myPost('bin_log', {status:1}, function(data){ myPost('bin_log', {status:1}, function(data){
var rdata = $.parseJSON(data.data); var rdata = $.parseJSON(data.data);
var line_status = ""
if (rdata.status){
line_status = '<button class="btn btn-success btn-xs btn-bin va0">关闭</button>\
<button class="btn btn-success btn-xs clean-btn-bin va0">清理BINLOG日志</button>'
} else {
line_status = '<button class="btn btn-success btn-xs btn-bin va0">开启</button>'
}
var limitCon = '<p class="conf_p">\ var limitCon = '<p class="conf_p">\
<span class="f14 c6 mr20">二进制日志 </span><span class="f14 c6 mr20">' + toSize(rdata.msg) + '</span>\ <span class="f14 c6 mr20">二进制日志 </span><span class="f14 c6 mr20">' + toSize(rdata.msg) + '</span>\
<button class="btn btn-success btn-xs btn-bin va0">'+ (rdata.status ? lan.soft.off : lan.soft.on) + '</button>\ '+line_status+'\
<p class="f14 c6 mtb10" style="border-top:#ddd 1px solid; padding:10px 0">错误日志<button class="btn btn-default btn-clear btn-xs" style="float:right;" >清空</button></p>\ <p class="f14 c6 mtb10" style="border-top:#ddd 1px solid; padding:10px 0">错误日志<button class="btn btn-default btn-clear btn-xs" style="float:right;" >理日志</button></p>\
<textarea readonly style="margin: 0px;width: 100%;height: 440px;background-color: #333;color:#fff; padding:0 5px" id="error_log"></textarea>\ <textarea readonly style="margin: 0px;width: 100%;height: 440px;background-color: #333;color:#fff; padding:0 5px" id="error_log"></textarea>\
</p>' </p>'
$(".soft-man-con").html(limitCon); $(".soft-man-con").html(limitCon);
@ -1044,10 +1052,15 @@ function myLogs(){
myPost('bin_log', 'close=change', function(data){ myPost('bin_log', 'close=change', function(data){
var rdata = $.parseJSON(data.data); var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 }); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){myLogs();}, 2000);
setTimeout(function(){ });
myLogs(); });
}, 2000);
$(".clean-btn-bin").click(function () {
myPost('clean_bin_log', '', function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){myLogs();}, 2000);
}); });
}); });
@ -1056,10 +1069,7 @@ function myLogs(){
myPost('error_log', 'close=1', function(data){ myPost('error_log', 'close=1', function(data){
var rdata = $.parseJSON(data.data); var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 }); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){myLogs();}, 2000);
setTimeout(function(){
myLogs();
}, 2000);
}); });
}) })

Loading…
Cancel
Save