env.sh
!/usr/bin/env bash
APP=”project.artifactId”LOGBASE=”/home/admin/logs”LOGDIR=”LOG_BASE/APP”exportPIDFILE=”LOG_DIR/$APP.pid”
export LANG=”zh_CN.UTF-8”
export LC_ALL=”zh_CN.UTF-8”
export JAVA_HOME=/home/admin/local/jdk1.7.0_79
export JAVA_BIN=JAVAHOME/binexportJAVAPATH=JAVA_HOME/bin
export JAVA_OPTS=”-Xms2048m -Xmx2048m -XX:MaxPermSize=256m”
export HADOOP_USER_NAME=hdfs
CONFIG_PATH=(cd"(dirname “0”)/../config”;pwd)LIBPATH=(cd "(dirname“0”)/../lib”;pwd)
组装 CLASSPATH
ALL_JARS=(ls"LIB_PATH”)
CLASS_PATH=””
for jar in ALLJARSdoCLASSPATH=”CLASS_PATH""LIBPATH”“/”“jar”“:”
done
CLASS_PATH=echo $CLASS_PATH | sed -r 's/^(.*):$/\1/g'
start.sh
!/bin/sh
[ -e dirname $0
/env.sh ] && . dirname $0
/env.sh
if [ ! -d “LOGDIR”];thenmkdir“LOG_DIR”
if [ ?−ne0];thenecho“CannotcreateLOG_DIR” >&2
exit 1
fi
fi
if [ -f $PID_FILE ]
then
PID=cat $PID_FILE
ps -ef | awk ‘{print 2}' | grep "^PID”>/dev/nullif[? -eq 0 ]
then
echo “process $PID in running.”
exit 1
fi
fi
nohup JAVAPATH/javaJAVA_OPTS -cp “CONFIGPATH:CLASS_PATH” com.msxf.ImportServer &> /dev/null &
echo !>PID_FILE
PID=cat $PID_FILE
echo “process $PID is start ok.”
stop.sh
!/bin/sh
[ -e dirname $0
/env.sh ] && . dirname $0
/env.sh
PID=cat $PID_FILE
kill PIDn=10i=1while[n -gt i ]
do
ps -ef | awk ‘{print $2}' | grep "^PID” >/dev/null
if [ ?−eq0]thensleep1leti+=1elseecho“stopprocessPID succeed.”
exit
fi
done
echo “stop process $PID failed.”