jar运行配置
#!/bin/bash # chkconfig: - 95 15 # description: server start/stop/status script export JAVA_HOME=/usr/java/jdk1.8.0_301 export PATH=$JAVA_HOME/bin:$PATH # jar 名称 APP_NAME=server.jar APP_PATH=/data/wwwroot/server # 运行端口号 PORT=8181 APPID="$APP_NAME@$PORT" # JVM参数 JVM_OPTS="-Dname=$APPID -Dfile.encoding=utf-8 -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC -Dlogging.config=$APP_PATH/config/logback.xml -Dspring.config.location=$APP_PATH/config/ -Dserver.port=$PORT" #APPFILE_PATH="-Dspring.config.location=/usr/local/config/application.properties" #使用说明,用来提示输入参数 usage() { echo "Usage: sh 执行脚本.sh [start|stop|restart|status|log]" exit 1 } #检查程序是否在运行 is_exist(){ pid=`ps -ef|grep $APPID|grep -v grep|awk '{print $2}' ` #如果不存在返回1,存在返回0 if [ -z "${pid}" ]; then return 1 else return 0 fi } #启动方法 start(){ is_exist if [ $? -eq "0" ]; then echo "${APPID} is already running. pid=${pid} ." else #nohup java $JVM_OPTS -jar $APPFILE_PATH $APPID > /dev/null 2>&1 #后台启动jar包,且控制环境变量,根据实际情况修改吧。 nohup java $JVM_OPTS -jar $APP_PATH/$APP_NAME > $APP_PATH/logs/catalina.log 2>&1 & fi } #停止方法 stop(){ is_exist if [ $? -eq "0" ]; then kill -9 $pid else echo "${APPID} is not running" fi } #输出运行状态 status(){ is_exist if [ $? -eq "0" ]; then echo "${APPID} is running. Pid is ${pid}" else echo "${APPID} is NOT running." fi } #重启 restart(){ stop start } #日志 log(){ # 输出实时日志 tail -n 100 -f $APP_PATH/logs/server.log } #根据输入参数,选择执行对应方法,不输入则执行使用说明 case "$1" in "start") start ;; "stop") stop ;; "status") status ;; "restart") restart ;; "log") log ;; *) usage ;; esac