不废话,直接上代码
启动脚本
batchStartup.sh
#!/bin/bash
APP_ENV=test
JVM=512m
BASE_DIR=$(cd `dirname $0`; pwd)
for dir in `ls -d */`
do
for i in `ls ${dir}*.jar`
do
APP_HOME=${BASE_DIR}/$dir
APP_NAME=`basename $i|awk -F'.' '{ print $1}'`
APP_LOG_DIR=${APP_HOME}logs
echo "startup $APP_NAME ......"
echo $APP_HOME
echo $i
if [ ! -d "$APP_LOG_DIR" ];then
mkdir $APP_LOG_DIR
fi
nohup java -Xms${JVM} -Xmx${JVM} \
-jar "$i" > ${APP_LOG_DIR}/$APP_NAME.out 2>&1 &
#Djasypt.encryptor.password=asiainfo \
#-jar "$i" \
#--spring.profiles.active=$APP_ENV > logs/$APP_NAME.out 2>&1 &
#--spring.profiles.active=$APP_ENV > /dev/null 2>&1 &
sleep 2
echo "startup end."
done
done
停止脚本
batchShutdown.sh
#!/bin/bash
BASE_DIR=$(cd `dirname $0`; pwd)
for dir in `ls -d */`
do
for i in `ls ${dir}*.jar`
do
APP_NAME=`basename $i|awk -F'.' '{ print $1}'`
echo "shutdown $APP_NAME ......"
pid=`ps ax | grep -i $i | grep java | grep -v grep | awk '{print $1}'`
if [ -z "$pid" ] ; then
echo "No $APP_NAME Server running."
#exit -1;
else
kill -9 ${pid}
echo "Send shutdown request ${APP_NAME}(${pid}) OK"
fi
sleep 2
done
done
赋权
给脚本加上LInux权限
chmod u+x *.sh
给所有脚本赋上权限
使用
切换到脚本的目录
使用
./batchShutdown.sh
或者
./batchStartup.sh