本文仅供参考!!!
通俗的讲就是3步:1-调接口,2-获取配置文件的命令,3-调取execCmd方法 执行
配置配件:(本次测试,backupsData脚本放在了服务器的/opt目录下)
/**
* application.properties文件配置
*/
cmd.executiveOrderSqlData=/opt/backupsData.sh
1.controller
/**
* 注解读取application.properties文件配置
*/
@Value("${cmd.executiveOrderSqlData}")//备份数据语句命令
private String executiveOrderSqlData;
/**
* 备份数据
*/
@RequestMapping(value = "/conf/backupsData" ,method = RequestMethod.GET)
@ResponseBody
public Object backupsData(HttpServletRequest request) throws IOException{
sysService.backupsData(executiveOrderSqlData);
}
2.service
/**
* 备份数据 导出sql表语句和数据
*/
public String backupsData(String executiveOrder){
return execCmd(executiveOrder);
}
execCmd方法:
/**
* 执行命令
*/
private String execCmd(String cmd){
logger.info("cmd ======================:"+cmd);
StringBuilder sb=new StringBuilder();
try {
Process p = Runtime.getRuntime().exec(cmd);
p.waitFor();
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line="";
while ((line = reader.readLine()) != null) {
sb.append(line);
}
}
catch(Exception e1) {}
return sb.toString();
}
脚本命令:

代码
#!/bin/bash
/usr/bin/mysqldump -uusername -ppassword DatabaseName > /opt/DatabaseName_$(date +%Y%m%d).sql
username:数据库用户名
password:数据库密码
DatabaseName:数据库名字
对应字段自己修改成自己
Java备份数据库到SQL文件
本文介绍了一种使用Java调用Shell脚本备份数据库的方法,通过读取application.properties配置文件中的命令,执行备份数据到SQL文件的过程。涉及的步骤包括调用接口、获取配置命令和执行execCmd方法。
1074

被折叠的 条评论
为什么被折叠?



