由于接口压力大,而且一个服务器上面放了好多项目,导致接口tomcat经常宕机,而且下班后,tomcat宕机了,还必须赶紧远程连接服务器重启,后来想了一个方法来解决这个问题:在我们的后台管理段,增加一个一键重启linux上的tomcat服务器的功能:
具体步骤如下:
在java中加入如下代码:执行linux上的restart.sh脚本文件
private void executeSHFile(String shutdown_path, String tip) throws Exception { //String restart_path = "....tomcat/bin/restart.sh"; //tomcat上的restart.sh的地址 Process ps = Runtime.getRuntime().exec(shutdown_path);//执行restart.sh脚本文件 ps.waitFor();//阻塞,直到上述命令执行完 BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream())); StringBuffer sb = new StringBuffer(); String line; while ((line = br.readLine()) != null) { sb.append(line).append("\n"); } String result = sb.toString();//sh脚本内容 }
restart.sh脚本文件代码:
#! /bin/bash tomcat_home=/use/local/tomcat_treasure SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh echo "准备关闭$tomcat_home" $SHUTDOWN #删除tomcat的临时目录 rm $tomcat_home/work/* -rf sleep 5 echo "准备启动$tomcat_home" $STARTTOMCAT #看启动日志 #tail -f $tomcat_home/logs/catalina.out
将java代码部署到linux服务器上,然后在后台增加按钮,出发上面的java代码,即可完成一键重启linux上的tomcat服务器的功能