最近快要过年了,在研究Java程序直接调用linux脚本,保障系统故障时自动重启,虽然简单,但还是要记录一下,以免踩坑。
1、编写shell脚本
在服务器指定目录编写好本次要执行的shell脚本,如下图。
2、编写Java程序
本次编写的Java程序是基于ProcessBuilder调用shell脚本,可谓是非常简单明了了~
示例代码如下:
/**
* java程序调用shell脚本
*/
public void autoRunShell(){
try{
log.info("autoRunShell start......");
//要执行的shell脚本命令文件
String command = "./test.sh";
//要执行的命令所在目录path
String path = "/data/service-control/backup";
//1.执行命令,要先切换目录
ProcessBuilder processBuilder = new ProcessBuilder();
//切换目标目录
processBuilder.directory(new File(path));
//添加要执行的命令
processBuilder.command(com