|
|
@ -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 |
|
|
|
|
|
|
|
|
|
|
|