Update index.py

pull/109/head
midoks 4 years ago
parent 919afee2ba
commit 76eef1d21c
  1. 27
      plugins/mysql/index.py

@ -1488,21 +1488,15 @@ def deleteSlave(version=''):
def dumpMysqlData(version): def dumpMysqlData(version):
args = getArgs()
data = checkArgs(args, ['db'])
if not data[0]:
return data[1]
dlist = findBinlogDoDb() dlist = findBinlogDoDb()
if not args['db'] in dlist:
return 'fail'
pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root') pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root')
# print getServerDir() # print getServerDir()
cmd = getServerDir() + "/bin/mysqldump -uroot -p" + \ cmd = getServerDir() + "/bin/mysqldump -uroot -p" + \
pwd + " --databases " + args['db'] + \ pwd + " --databases " + dlist.join(',') + \
" > /tmp/" + args['db'] + ".sql" " > /tmp/dump.sql"
ret = mw.execShell(cmd) ret = mw.execShell(cmd)
if ret[0] == '': if ret[0] == '':
@ -1524,6 +1518,8 @@ def async(f):
@async @async
def doFullSync(db): def doFullSync(db):
status_file = '/tmp/db_async_status.txt'
import paramiko import paramiko
paramiko.util.log_to_file('paramiko.log') paramiko.util.log_to_file('paramiko.log')
ssh = paramiko.SSHClient() ssh = paramiko.SSHClient()
@ -1536,18 +1532,23 @@ def doFullSync(db):
stdin, stdout, stderr = ssh.exec_command(cmd) stdin, stdout, stderr = ssh.exec_command(cmd)
result = stdout.read() result = stdout.read()
result_err = stderr.read() result_err = stderr.read()
print(result.decode(), result_err.decode())
print mw.execShell('scp root@8.210.55.220:/tmp/' + db + '.sql /tmp') if result == 'ok':
mw.writeFile(status_file, '1')
r = mw.execShell('scp root@8.210.55.220:/tmp/' + db + '.sql /tmp')
if r[0] == '':
mw.writeFile(status_file, '2')
mw.execShell('stop slave') mw.execShell('stop slave')
mw.writeFile(status_file, '3')
pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root') pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root')
cmd = getServerDir() + "/bin/mysql -uroot -p" + pwd + " < /tmp/" + db + ".sql" cmd = getServerDir() + "/bin/mysql -uroot -p" + pwd + " < /tmp/" + db + ".sql"
print cmd mw.execShell(cmd)
print mw.execShell(cmd) mw.writeFile(status_file, '4')
mw.execShell('start slave') mw.execShell('start slave')
mw.writeFile(status_file, '5')
return True return True

Loading…
Cancel
Save