每次更新项目,都有好多重复单调的工作需要做,其实可以用脚本解决。
今天写了一段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+"】######################