#! /bin/sh
USER=`whoami`
if [ "$USER" != "like" ] ;
then
echo "only user 【like】 can deploy"
exit 0
fi
if readlink -f "$0" > /dev/null 2>&1
then
SHELL_BIN=$(readlink -f "$0")
else
SHELL_BIN="$0"
fi
BIN_HOME=$(dirname $SHELL_BIN)
APP_HOME=$(dirname $SHELL_BIN)
PID_LOG=$BIN_HOME/pid
source /data/sh/like_front.env
JAVA_OPTS=$JAVA_OPTS' -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:'$APP_HOME'/gc.log -XX:ErrorFile='$APP_HOME'/hs_err_pid'`date +%Y%m%d%H%M`'.log'
JAVA_OPTS=$JAVA_OPTS' -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath='$APP_HOME'/hs_dump_pid'`date +%Y%m%d%H%M`'.log'
CLASS_PATH=.
CLASS_PATH=$CLASS_PATH:$APP_HOME/conf
CLASS_PATH=$CLASS_PATH:$(echo $APP_HOME/lib/*.jar|sed 's/ /:/g')
MAINCLASS=com.like.cloud.front.FrontApplication
echo "======================================================================================"
echo "SHELL_BIN: "$SHELL_BIN
echo "BIN_HOME: "$BIN_HOME
echo "APP_HOME: "$APP_HOME
echo "PID_LOG: "$PID_LOG
echo "JAVA_OPTS: "$JAVA_OPTS
echo "CLASS_PATH: "$CLASS_PATH
echo "MAINCLASS: "$MAINCLASS
echo "======================================================================================"
start(){
if [ -f "$PID_LOG" ];then
echo "FAIL"
echo "Pid File exists, please check application whether running."
exit 1
else
nohup java $JAVA_OPTS -Duser.dir=$BIN_HOME -classpath $CLASS_PATH ${MAINCLASS} >> $LIKE_LOG_PATH/nohup 2>&1 &
pid=$!
sleep 5
if [ -x /proc/$pid ];then
echo $pid > ${PID_LOG}
echo "Success start service with pid $pid"
exit 0
else
echo "Failed start service.See log ${LOG_STD_ERR}"
exit 1
fi
echo $! >$PID_LOG
echo "SUCCESS"
echo "application start success"
exit 0
fi
}
stop(){
if [ -f "$PID_LOG" ];then
if [ -n "$(cat $PID_LOG)" ];then
kill -15 $(cat $PID_LOG)
sleep 15
kill -9 $(cat $PID_LOG)
rm -f $PID_LOG
echo "SUCCESS"
echo "application stop success"
exit 0
else
echo "FAIL"
echo "PID FILE is empty,please check whether the application running, and use kill command to stop the application"
exit 1
fi
else
echo "FAIL"
echo "Pid file not exist,please check whether the application running, and use kill command to stop the application."
exit 0
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo 'Usage command: {start|stop}\n'
exit 1
;;
esac
exit 0