#!/bin/bash#description: ljdjService
export PRG_HOME=/ainmc/work/toptea/dataTransfer
PRG_KEYWORD=projectName
PRG=$PRG_HOME/server.sh
JAVA_HOME=/aa/bb/jdk1.8.0_111 #jdk安装位置
LOGCFG="-Dlogback.configurationFile=$PRG_HOME/conf/logback.xml"FILE_ENCODING="-Dfile.encoding=utf-8"jvmOpt="-Xms2048m -Xmx2048m -XX:PermSize=256M -XX:MaxPermSize=512m"PRG_RUN_USER=nmcuser
pidFile=$PRG_HOME/server.pid
MAIN_CLASS=com.ai.vv.aa.Main #main方法的路径
jarDir=$PRG_HOME/lib
transferType="$2"cd $PRG_HOME
function start(){
echo"will start $PRG_KEYWORD $transferType"export CLASSPATH=.for jar in `ls $PRG_HOME/lib/*.jar`
do
CLASSPATH=$CLASSPATH:$jar
done#nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS add "$transferType" >/dev/null 2>&1&
"$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS add "$transferType"
for(( i=1;i<=10;i++));doif [ -e $pidFile ]; then
echo"$PRG_KEYWORD is started,pid=`cat $pidFile`"
breakfi
sleep2done
}
function delete(){
echo"will start $PRG_KEYWORD"export CLASSPATH=.for jar in `ls $PRG_HOME/lib/*.jar`
do
CLASSPATH=$CLASSPATH:$jar
done#nohup "$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS delete "$transferType">/dev/null 2>&1&
"$JAVA_HOME"/bin/java -Djobname="$PRG_KEYWORD" -cp "$CLASSPATH" $jvmOpt $LOGCFG $FILE_ENCODING $MAIN_CLASS delete "$transferType"
for(( i=1;i<=10;i++));doif [ -e $pidFile ]; then
echo"$PRG_KEYWORD is started,pid=`cat $pidFile`"
breakfi
sleep2done
}
psid=0
checkpid() {
javaps=`$JAVA_HOME/bin/jps -l |grep $PRG_KEYWORD`if [ -n "$javaps"]; then
psid=`echo $javaps | awk '{print $1}'`elsepsid=0
fi
}
stop() {
checkpidif [ $psid -ne 0 ]; then
echo-n "Stopping $PRG_KEYWORD ...(pid=$psid)"kill-9$psidif [ $? -eq 0 ]; then
echo"[OK]"
elseecho"[Failed]"fi
checkpidif [ $psid -ne 0 ]; then
stop
fielseecho"================================"echo"================================"fi
}
case"$1" instart)if [ -e $pidFile ]; then
pid=`cat $pidFile`
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER"`if [ $tpid -lt 1]; then
startelseecho"$PRG_KEYWORD already started!! pid="$pid
fielsetpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER"`
pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER" | awk '{print $2}'`if [ $tpid -lt 1]; then
startelseecho"$PRG_KEYWORD already started!! pid="$pid
echo"$pid">server.pid
fi
fi
;;del)if [ -e $pidFile ]; then
pid=`cat $pidFile`
tpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER"`if [ $tpid -lt 1]; then
deleteelseecho"$PRG_KEYWORD already started!! pid="$pid
fielsetpid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep -c "$PRG_RUN_USER"`
pid=`ps -ef | grep java | grep -v grep | grep jobname=$PRG_KEYWORD | grep "$PRG_RUN_USER" | awk '{print $2}'`if [ $tpid -lt 1]; then
deleteelseecho"$PRG_KEYWORD already started!! pid="$pid
echo"$pid">server.pid
fi
fi
;;
stop)
stop;;*)
echo"Usage: server.sh (start|del|stop 工单类型英文关键字)"esac