pull/109/head
midoks 4 years ago
parent d80300757d
commit efe8e96b9b
  1. 28
      plugins/mysql/index.py
  2. 21
      plugins/mysql/js/mysql.js

@ -1544,10 +1544,30 @@ def doFullSync():
paramiko.util.log_to_file('paramiko.log') paramiko.util.log_to_file('paramiko.log')
ssh = paramiko.SSHClient() ssh = paramiko.SSHClient()
SSH_PRIVATE_KEY = '/Users/midoks/.ssh/id_rsa' SSH_PRIVATE_KEY = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(SSH_PRIVATE_KEY)
ssh.load_system_host_keys() if mw.getOs() == 'darwin':
ssh.connect(hostname=ip, port=22, username='root', pkey=key) user = mw.execShell(
"who | sed -n '2, 1p' |awk '{print $1}'")[0].strip()
SSH_PRIVATE_KEY = '/User/' + user + '/.ssh/id_rsa'
if not os.path.exists(SSH_PRIVATE_KEY):
status_data['code'] = 0
status_data['msg'] = '需要配置免登录...'
mw.writeFile(status_file, json.dumps(status_data))
return
try:
key = paramiko.RSAKey.from_private_key_file(SSH_PRIVATE_KEY)
# ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip, port=22, username='root', pkey=key)
except Exception as e:
status_data['code'] = 0
status_data['msg'] = '需要配置免登录....'
mw.writeFile(status_file, json.dumps(status_data))
return
cmd = "cd /www/server/mdserver-web && python /www/server/mdserver-web/plugins/mysql/index.py dump_mysql_data {\"db\":'" + args[ cmd = "cd /www/server/mdserver-web && python /www/server/mdserver-web/plugins/mysql/index.py dump_mysql_data {\"db\":'" + args[
'db'] + "'}" 'db'] + "'}"
stdin, stdout, stderr = ssh.exec_command(cmd) stdin, stdout, stderr = ssh.exec_command(cmd)

@ -1411,6 +1411,25 @@ function getFullSyncStatus(db){
}); });
} }
function handlerRun(){
cmd = 'cd /www/server/mdserver-web && python /www/server/mdserver-web/plugins/mysql/index.py do_full_sync {"db":"all"}';
var loadOpen = layer.open({
type: 1,
title: '手动执行',
area: '500px',
content:"<form class='bt-form pd20 pb70' id='add_master'>\
<div class='line'>"+cmd+"</div>\
<div class='bt-form-submit-btn'>\
<button type='button' class='btn btn-success btn-sm btn-title class-copy-cmd'>复制</button>\
</div>\
</form>",
});
copyPass(cmd);
$('.class-copy-cmd').click(function(){
copyPass(cmd);
});
}
function masterOrSlaveConf(version=''){ function masterOrSlaveConf(version=''){
function getMasterDbList(){ function getMasterDbList(){
@ -1541,7 +1560,7 @@ function masterOrSlaveConf(version=''){
</div>\ </div>\
<div id="databasePage" class="dataTables_paginate paging_bootstrap page"></div>\ <div id="databasePage" class="dataTables_paginate paging_bootstrap page"></div>\
<div class="table_toolbar">\ <div class="table_toolbar">\
<span class="sync btn btn-default btn-sm" onclick="getMasterRepSlaveList()" title="设置主服务器密钥">设置主服务器密钥</span>\ <span class="sync btn btn-default btn-sm" onclick="handlerRun()" title="免登录设置后,需要手动执行一下!">手动命令</span>\
<span class="sync btn btn-default btn-sm" onclick="getFullSyncStatus(\'test\')" title="全量同步">全量同步</span>\ <span class="sync btn btn-default btn-sm" onclick="getFullSyncStatus(\'test\')" title="全量同步">全量同步</span>\
</div>\ </div>\
</div>'; </div>';

Loading…
Cancel
Save