啓動微服務的腳本:
#! /bin/sh
set -m
app_path=$(pwd)
echo app path is $app_path
# 找到tomcat的進程id
app_pid=$(ps -ef|grep $app_path|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
if [ "$app_pid" ];then
echo app process id is $app_pid
# 殺掉app進程
if
kill -9 $app_pid
then
echo kill app process success
else
echo kill app process fail
fi
else
echo app is already dead
fi
appname=gate
jarname=sale-${appname}-1.0.0-SNAPSHOT.jar
exejarpath=$(pwd)/${jarname}
consolelog=$(pwd)/log.out
cp -pf /home/zntg/szkingdom/jarhome/${jarname} ./
java -server -Djava.security.egd=file:///dev/urandom -Xms256m -Xmx512m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m -XX:LargePageSizeInBytes=64m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -Dfile.encoding=UTF-8 -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:SurvivorRatio=20 -XX:+CMSPrecleaningEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./dumplogs -Xloggc:./gc.log -Djava.net.preferIPv4Stack=true -jar ${exejarpath} --logging.config=./logback.xml > ${consolelog} 2>&1 &
tail -f ${consolelog}
批量啓動的腳本:
cd /home/zntg/szkingdom/master
./startup-master.sh &
sleep 30s
./startup-right.sh &
cd /home/zntg/szkingdom/autotask
./startup-autotask.sh &
sleep 90s
# 90秒後 殺死所有的tail -f log.out的進程
echo "ps -ef|grep log.out|awk '{print $2}'|xargs -i kill -9 {}"
ps -ef|grep log.out|awk '{print $2}'|xargs -i kill -9 {}
& 掛起當前shell,後臺運行
sleep 30s 休眠30秒
sleep 10m休眠10分鐘
sleep 1h 休眠1小時