批量shell操作重启tomcat
来源:互联网 发布:linux教程 孟庆昌 pdf 编辑:程序博客网 时间:2024/05/10 02:20
每次更新项目,都有好多重复单调的工作需要做,其实可以用脚本解决。
今天写了一段shell脚本,功能有两个:
1.机器不重启
1)停掉所有tomcat
2)删除所有自解压项目
3)重启base开头的项目
4)停止base开头的项目
5)替换base开头的项目的自解压项目配置文件
6)重启所有tomcat
2.机器重启
1)启动zookeeper
2) 启动dubbo控制台
3)启动activeMq
4) 启动iBackStage后台项目
5)所有tomcat启动
以下是代码,以供参考
package com.sdzn.util;import java.util.ArrayList;import java.util.List;/** * Test 功能描述:用于生成项目在4号机的运维Shell代码 * * @author RickyLee【lsr@sdzn.com.cn】 * @date 2017/4/8 16:19 */public class Test { public static void main(String[] args) { List<String> list = getProjectList(); creatRebootSh(list, "/Users/lishirong/sdznreboot"); createUpdateSH(list, "/Users/lishirong/sdznrestart"); } /** * 当阿里云服务器重启以后,根据此脚本来分别启动zookeeper、dubbo控制台、未来课堂后台、直播相关基础、业务、WEB服务 * * @param list dubbo项目总计 * @param filePath 生成的脚本存储路径 */ private static void creatRebootSh(List<String> list, String filePath) { try { List<String> dataList = new ArrayList<String>(); int pTotal=4+list.size(); dataList.add("#! /bin/bash"); dataList.add("echo \"-----------启动zookeeper..........\""); dataList.add("sleep 5s"); dataList.add("/usr/local/zookeeper-3.4.8/bin/zkServer.sh start"); dataList.add("sleep 5s"); dataList.add("echo \"########################zookeeper完毕!【1/"+pTotal+"】########################\""); dataList.add("echo \"-----------启动dubbo控制台.......\""); dataList.add("/usr/local/dubbo_admin/apache-tomcat-6.0.35/bin/startup.sh"); dataList.add("sleep 5s"); dataList.add("echo \"########################dubbo控制台启动完毕!【2/"+pTotal+"】########################\""); dataList.add("echo \"-----------启动iBackStage项目....\""); dataList.add("/usr/local/iBackStage/bin/startup.sh"); dataList.add("sleep 10s"); dataList.add("echo \"########################iBackStage启动完毕!【3/"+pTotal+"】########################\""); dataList.add("echo \"-----------启动activeMq....\""); dataList.add("/usr/local/apache-activemq-5.9.1/bin/activemq start"); dataList.add("sleep 10s"); dataList.add("echo \"########################activeMq启动完毕!【4/"+pTotal+"】########################\""); int count=4; for (String vv : list) { count++; String[] v=vv.split("#"); dataList.add("echo \"-----------启动"+v[0]+"项目....\""); dataList.add("/usr/local/dubbo_live/"+v[0]+"/bin/startup.sh"); dataList.add("sleep 10s"); dataList.add("echo \"########################"+v[0]+"启动完毕!【"+count+"/"+pTotal+"】########################\""); } dataList.add("echo \"----------本次更新已结束["+DateUtil.getNowTime()+"]-------------\""); FileUtil.writeFile(filePath, dataList, false); } catch (Exception e) { e.printStackTrace(); } } private static void createUpdateSH(List<String> list, String filePath) { try { List<String> dataList = new ArrayList<String>(); dataList.add("#! /bin/bash"); dataList.add("echo \"-----------第一步:停止所有tomcat..........\""); for (String vv : list) { String[] v=vv.split("#"); dataList.add("/usr/local/dubbo_live/"+v[0]+"/bin/shutdown.sh"); dataList.add("sleep 5s"); dataList.add("echo \"########################"+v[0]+"已停止!########################\""); } dataList.add("echo \"-----------第二步:删除所有tomcat自解压文件..........\""); for (String vv : list) { String[] v=vv.split("#"); dataList.add("rm -rf /usr/local/dubbo_live/" + v[0] + "/webapps/" + v[1]); dataList.add("echo \"########################/usr/local/dubbo_live/" + v[0] + "/webapps/" + v[1] + "删除成功!########################\""); } dataList.add("echo \"-----------第三步:启动base_tomcat..........\""); for (String vv : list) { String[] v=vv.split("#"); if(v[0].startsWith("base_")) { dataList.add("/usr/local/dubbo_live/"+v[0]+"/bin/startup.sh"); dataList.add("sleep 5s"); dataList.add("echo \"########################" + v[0] + "已启动!########################\""); } } dataList.add("echo \"-----------第四步:停止base_tomcat..........\""); for (String vv : list) { String[] v=vv.split("#"); if(v[0].startsWith("base_")) { dataList.add("/usr/local/dubbo_live/"+v[0]+"/bin/shutdown.sh"); dataList.add("sleep 3s"); dataList.add("echo \"########################" + v[0] + "已停止!########################\""); } } dataList.add("echo \"-----------第五步:停止base_tomcat..........\""); for (String vv : list) { String[] v=vv.split("#"); if(v[0].startsWith("base_")) { dataList.add("rm -rf /usr/local/dubbo_live/" + v[0] + "/webapps/" + v[1] + "/WEB-INF/classes/application.properties"); dataList.add("cp /usr/local/live_config/" + v[0] + "/webapps/" + v[1] + "/WEB-INF/classes/application.properties /usr/local/dubbo_live/" + v[0] + "/webapps/" + v[1] + "/WEB-INF/classes/application.properties"); dataList.add("echo \"########################" + v[0] + "配置替换结束!########################\""); } } dataList.add("echo \"-----------第六步:重启所有tomcat..........\""); for (String vv : list) { String[] v=vv.split("#"); dataList.add("/usr/local/dubbo_live/"+v[0]+"/bin/startup.sh"); dataList.add("sleep 10s"); dataList.add("echo \"########################"+v[0]+"已启动!########################\""); } dataList.add("echo \"----------本次更新已结束["+DateUtil.getNowTime()+"]-------------\""); FileUtil.writeFile(filePath, dataList, false); } catch (Exception e) { e.printStackTrace(); } } /** * 获取项目列表 * @return */ public static List<String> getProjectList() { List<String> list = new ArrayList<String>(); list.add("base_backstage#live_base_service_backstage"); list.add("base_base#live_base_service_base"); list.add("base_LiveStreaming#live_base_service_LiveStreaming"); list.add("base_payment#live_base_service_payment"); list.add("base_statistics#live_base_service_statistic"); list.add("base_support#live_base_service_support"); list.add("base_user#live_base_service_user"); list.add("backup_plantasks#ROOT"); list.add("biz_backstage#live_biz_service_backstage"); list.add("biz_base#live_biz_service_base"); list.add("biz_LiveStreaming#live_biz_service_LiveStreaming"); list.add("biz_mobile#live_biz_service_mobile"); list.add("biz_payment#live_biz_service_payment"); list.add("biz_statistics#live_biz_service_statistics"); list.add("biz_support#live_biz_service_support"); list.add("biz_user#live_biz_service_user"); list.add("mq#ROOT"); list.add("web#ROOT"); list.add("web_api#ROOT"); list.add("web_backstage#ROOT"); list.add("web_mobile#ROOT"); list.add("web_pass#ROOT"); list.add("web_school#ROOT"); return list; }}
0 0
- 批量shell操作重启tomcat
- shell脚本重启tomcat
- shell 脚本重启tomcat
- shell 重启tomcat 脚本
- tomcat重启shell脚本
- shell 重启tomcat 脚本
- 使用shell重启tomcat
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- LINUX下使用Shell自动监控tomcat并且执行重启操作
- 常用的Shell命令:重启tomcat,打包,移动,等其他操作较多的命令
- tomcat的重启shell脚本
- 利用linux shell脚本 重启tomcat
- shell实现tomcat自动备份重启
- shell自动监控重启Tomcat脚本
- shell自动监控重启Tomcat脚本
- shell自动监控重启Tomcat脚本
- cookie总结
- Android intent
- android studio 轻松自动生成实体类
- byte数组和文件读写
- poj 2407 求欧拉函数
- 批量shell操作重启tomcat
- 解决IDEA导入复制的maven项目编译失败
- servlet+jsp+ajax+json实现传递数据小案例
- 1043. Is It a Binary Search Tree (25)
- js杂记 慕课网
- 学习python编程1
- 024主动触发按钮的单击事件
- Oracle 数据库基于SCOTT模式的多表检索
- json格式再次总结