BACKUP if ("backup".equals(yc)) { //Shared Session Object session = request.getSession().getAttribute("user"); //End of shared Session String URL = request.getServletPath(); PrintWriter out = response.getWriter(); if ("admin".equals(session)) { String timeStamp = new SimpleDateFormat("yyyy-MM-dd_HHmmss").format(Calendar.getInstance().getTime()); Process p = null; try { Runtime runtime = Runtime.getRuntime(); p = runtime.exec("C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysqldump -uroot -proot -B tintuc -r " + "E:\\sql_backup\\" + "tintuc_" + timeStamp + ".sql"); int processComplete = p.waitFor(); if (processComplete == 0) { out.println("Backup created successfully!"); } else { out.println("Could not create the backup"); } } catch (Exception e) { e.printStackTrace(); } } else { out.print("Bạn không có quyền admin để thực hiện chức năng này"); } } RESTORE String filename = request.getParameter("filename"); //Xử lý chuỗi tên nhập vào String split = request.getParameter("filename"); String[] part = split.split(Pattern.quote(".")); String part1 = part[0]; //Chuỗi đã cắt dấu '.' if (split.contains(".")){ //Kiểm tra xem chuỗi nhập vào có dấu '.' hay không filename = part1; } // String[] restoreCmd = new String[]{"C:\\Program Files\\MySQL\\MySQL Server 5.7\\bin\\mysql", "--user=root", "--password=root", "-e", "source " + "E:\\sql_backup\\" + filename +".sql"}; Process runtimeProcess; try { PrintWriter writer = response.getWriter(); runtimeProcess = Runtime.getRuntime().exec(restoreCmd); int processComplete = runtimeProcess.waitFor(); if (processComplete == 0) { request.setAttribute("Success", true); RequestDispatcher rd = request.getRequestDispatcher("restore.jsp"); rd.forward(request, response);; } else { request.setAttribute("Fail", true); RequestDispatcher rd = request.getRequestDispatcher("restore.jsp"); rd.forward(request, response); } } catch (Exception ex) { ex.printStackTrace(); } }