需要注意的就是,执行数据库备份和还原操作,直接用Runtime.getRuntime().exec 的话会造成阻塞,因为读写数据量太大,所以用线程来实现。还有就是网上看到一堆 说什么命令前面加上 “/bin/ch”,”-c” 反正我试了的,加这个不行 。但是加上 “/bash/”,”-c” 是可以的。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@Controller
@RequestMapping(value = "/DbOperate")
public class DbOperate {
private static Process process = null;
@RequestMapping(value = "/dbBackUp", method = RequestMethod.POST)
@ResponseBody
public String dbBackUp() throws Exception {
String msg = "";
try {
String sb = "mysqldump -uAdmin -pchinawiserv