parent
c81902e905
commit
b5f6a8d5ba
@ -0,0 +1,63 @@
|
|||||||
|
package com.ruoyi.web.controller.monitor;
|
||||||
|
|
||||||
|
import com.ruoyi.common.config.RuoYiConfig;
|
||||||
|
import com.ruoyi.common.core.controller.BaseController;
|
||||||
|
import com.ruoyi.common.core.domain.AjaxResult;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.ResponseBody;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* packageName com.ruoyi.web.controller.monitor
|
||||||
|
*
|
||||||
|
* @author wangxy
|
||||||
|
* @version JDK 8
|
||||||
|
* @className BackupController
|
||||||
|
* @date 2024/9/13
|
||||||
|
* @description 数据库备份
|
||||||
|
*/
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/monitor/backup")
|
||||||
|
public class BackupController extends BaseController {
|
||||||
|
|
||||||
|
private String prefix = "/monitor/backup";
|
||||||
|
|
||||||
|
@RequiresPermissions("monitor:backup:view")
|
||||||
|
@GetMapping()
|
||||||
|
public String backData() {
|
||||||
|
return prefix + "/backup";
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("backups")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult backups(@RequestParam String username,
|
||||||
|
@RequestParam String password,
|
||||||
|
@RequestParam String hostname,
|
||||||
|
@RequestParam String port,
|
||||||
|
@RequestParam String databaseName) {
|
||||||
|
String sqlFileName = RuoYiConfig.getDataBaseBackUp() + ".sql";
|
||||||
|
File file = new File(File.separator + sqlFileName);
|
||||||
|
//目录生成
|
||||||
|
if (!file.getParentFile().exists()) {
|
||||||
|
file.getParentFile().mkdirs();
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
ProcessBuilder processBuilder = new ProcessBuilder("pg_dump", "-Fp", "-f", sqlFileName,
|
||||||
|
"\"host=" + hostname, "port=" + port, "user=" + username, "password=" + password, "dbname=" + databaseName + "\"");
|
||||||
|
Process process = processBuilder.start();
|
||||||
|
if (process.waitFor() == 0) {
|
||||||
|
return AjaxResult.success("备份成功!");
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error("备份失败!");
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return AjaxResult.error("备份失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue