|
|
|
@ -827,6 +827,56 @@ def setDbBackup(): |
|
|
|
|
return mw.returnJson(True, 'ok') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def importDbExternal(): |
|
|
|
|
args = getArgs() |
|
|
|
|
data = checkArgs(args, ['file', 'name']) |
|
|
|
|
if not data[0]: |
|
|
|
|
return data[1] |
|
|
|
|
|
|
|
|
|
file = args['file'] |
|
|
|
|
name = args['name'] |
|
|
|
|
|
|
|
|
|
import_dir = mw.getRootDir() + '/backup/import/' |
|
|
|
|
|
|
|
|
|
file_path = import_dir + file |
|
|
|
|
if not os.path.exists(file_path): |
|
|
|
|
return mw.returnJson(False, '文件突然消失?') |
|
|
|
|
|
|
|
|
|
import_sql = "" |
|
|
|
|
if file.find("sql.gz") > -1: |
|
|
|
|
cmd = 'cd ' + import_dir + ' && gzip -dc ' + \ |
|
|
|
|
file + " > " + import_dir + "tmp.sql" |
|
|
|
|
info = mw.execShell(cmd) |
|
|
|
|
if info[1] == "": |
|
|
|
|
import_sql = import_dir + "tmp.sql" |
|
|
|
|
|
|
|
|
|
if file.find(".zip") > -1: |
|
|
|
|
cmd = 'cd ' + import_dir + ' && unzip ' + file |
|
|
|
|
mw.execShell(cmd) |
|
|
|
|
|
|
|
|
|
if file.find("tar.gz") > -1: |
|
|
|
|
cmd = 'cd ' + import_dir + ' && tar -zxvf ' + file |
|
|
|
|
mw.execShell(cmd) |
|
|
|
|
|
|
|
|
|
if import_sql == "": |
|
|
|
|
cmd = 'cd ' + import_dir + ' && ls && grep ".sql$"' |
|
|
|
|
sql_name = mw.execShell(cmd) |
|
|
|
|
import_sql = import_dir + sql_name[0] |
|
|
|
|
|
|
|
|
|
if import_sql == "": |
|
|
|
|
return mw.returnJson(False, '未找SQL文件') |
|
|
|
|
|
|
|
|
|
pwd = pSqliteDb('config').where('id=?', (1,)).getField('mysql_root') |
|
|
|
|
sock = getSocketFile() |
|
|
|
|
mysql_cmd = getServerDir() + '/bin/mysql -S ' + sock + ' -uroot -p' + \ |
|
|
|
|
pwd + ' ' + name + ' < ' + import_sql |
|
|
|
|
|
|
|
|
|
os.system(mysql_cmd) |
|
|
|
|
os.remove(import_sql) |
|
|
|
|
|
|
|
|
|
return mw.returnJson(True, 'ok') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def importDbBackup(): |
|
|
|
|
args = getArgs() |
|
|
|
|
data = checkArgs(args, ['file', 'name']) |
|
|
|
@ -855,13 +905,17 @@ def importDbBackup(): |
|
|
|
|
|
|
|
|
|
def deleteDbBackup(): |
|
|
|
|
args = getArgs() |
|
|
|
|
data = checkArgs(args, ['filename']) |
|
|
|
|
data = checkArgs(args, ['filename', 'path']) |
|
|
|
|
if not data[0]: |
|
|
|
|
return data[1] |
|
|
|
|
|
|
|
|
|
path = args['path'] |
|
|
|
|
full_file = "" |
|
|
|
|
bkDir = mw.getRootDir() + '/backup/database' |
|
|
|
|
|
|
|
|
|
os.remove(bkDir + '/' + args['filename']) |
|
|
|
|
full_file = bkDir + '/' + args['filename'] |
|
|
|
|
if path != "": |
|
|
|
|
full_file = path + "/" + args['filename'] |
|
|
|
|
os.remove(full_file) |
|
|
|
|
return mw.returnJson(True, 'ok') |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -893,6 +947,39 @@ def getDbBackupList(): |
|
|
|
|
return mw.returnJson(True, 'ok', rr) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getDbBackupImportList(): |
|
|
|
|
|
|
|
|
|
bkImportDir = mw.getRootDir() + '/backup/import' |
|
|
|
|
if not os.path.exists(bkImportDir): |
|
|
|
|
os.mkdir(bkImportDir) |
|
|
|
|
|
|
|
|
|
blist = os.listdir(bkImportDir) |
|
|
|
|
|
|
|
|
|
rr = [] |
|
|
|
|
for x in range(0, len(blist)): |
|
|
|
|
name = blist[x] |
|
|
|
|
p = bkImportDir + '/' + name |
|
|
|
|
data = {} |
|
|
|
|
data['name'] = name |
|
|
|
|
|
|
|
|
|
rsize = os.path.getsize(p) |
|
|
|
|
data['size'] = mw.toSize(rsize) |
|
|
|
|
|
|
|
|
|
t = os.path.getctime(p) |
|
|
|
|
t = time.localtime(t) |
|
|
|
|
|
|
|
|
|
data['time'] = time.strftime('%Y-%m-%d %H:%M:%S', t) |
|
|
|
|
rr.append(data) |
|
|
|
|
|
|
|
|
|
data['file'] = p |
|
|
|
|
|
|
|
|
|
rdata = { |
|
|
|
|
"list": rr, |
|
|
|
|
"upload_dir": bkImportDir, |
|
|
|
|
} |
|
|
|
|
return mw.returnJson(True, 'ok', rdata) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def getDbList(): |
|
|
|
|
args = getArgs() |
|
|
|
|
page = 1 |
|
|
|
@ -2427,10 +2514,14 @@ if __name__ == "__main__": |
|
|
|
|
print(setDbBackup()) |
|
|
|
|
elif func == 'import_db_backup': |
|
|
|
|
print(importDbBackup()) |
|
|
|
|
elif func == 'import_db_external': |
|
|
|
|
print(importDbExternal()) |
|
|
|
|
elif func == 'delete_db_backup': |
|
|
|
|
print(deleteDbBackup()) |
|
|
|
|
elif func == 'get_db_backup_list': |
|
|
|
|
print(getDbBackupList()) |
|
|
|
|
elif func == 'get_db_backup_import_list': |
|
|
|
|
print(getDbBackupImportList()) |
|
|
|
|
elif func == 'add_db': |
|
|
|
|
print(addDb()) |
|
|
|
|
elif func == 'del_db': |
|
|
|
|