diff options
| author | chenjinsong <[email protected]> | 2018-09-27 16:17:06 +0800 |
|---|---|---|
| committer | chenjinsong <[email protected]> | 2018-09-27 16:17:06 +0800 |
| commit | 9b3c3ac5d7828b348558012f6167527459310f21 (patch) | |
| tree | 4c8e31f5445ae85b8100e1e7e2f1cba28fca9136 /linuxinstall/shell | |
Diffstat (limited to 'linuxinstall/shell')
| -rw-r--r-- | linuxinstall/shell/07-15-Linux下定时重启DC更新说明.txt | 11 | ||||
| -rw-r--r-- | linuxinstall/shell/datacontroller.sh | 197 | ||||
| -rw-r--r-- | linuxinstall/shell/restart.sh | 30 | ||||
| -rw-r--r-- | linuxinstall/shell/root | 1 | ||||
| -rw-r--r-- | linuxinstall/shell/shutdown.sh | 30 | ||||
| -rw-r--r-- | linuxinstall/shell/startup.sh | 34 |
6 files changed, 303 insertions, 0 deletions
diff --git a/linuxinstall/shell/07-15-Linux下定时重启DC更新说明.txt b/linuxinstall/shell/07-15-Linux下定时重启DC更新说明.txt new file mode 100644 index 0000000..fd48c1c --- /dev/null +++ b/linuxinstall/shell/07-15-Linux下定时重启DC更新说明.txt @@ -0,0 +1,11 @@ +DC更新步骤: + 1.更新DC的脚本restart.sh 和 datacontroller.sh + 2.更新DC的zip包:bin(DataController.exe 和 DCConfig.exe)、lib + 3.新建crontab定时任务(每隔2天,在晚上23:59分重启DC) + 任务内容为:59 23 */2 * * /home/nms/datacontroller/shell/restart.sh + 相关命令: + 编辑定时任务:crontab -e + 查看定时任务:crontab -l + + +
\ No newline at end of file diff --git a/linuxinstall/shell/datacontroller.sh b/linuxinstall/shell/datacontroller.sh new file mode 100644 index 0000000..dfb7d8a --- /dev/null +++ b/linuxinstall/shell/datacontroller.sh @@ -0,0 +1,197 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Start/Stop Script for the DATACONTROLLER Server +# +# Environment Variable Prequisites +# +# DATACONTROLLER_HOME May point at your DATACONTROLLER "build" directory. +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` + +# Only set DATACONTROLLER_HOME if not already set +[ -z "$DATACONTROLLER_HOME" ] && DATACONTROLLER_HOME=`cd "$PRGDIR/.." ; pwd` +cd "$DATACONTROLLER_HOME"/shell + +if [ -z "$DATACONTROLLER_TMPDIR" ] ; then + DATACONTROLLER_TMPDIR="$DATACONTROLLER_HOME"/temp +fi +if [ ! -d $DATACONTROLLER_TMPDIR ] + then + mkdir $DATACONTROLLER_TMPDIR +fi + +# -------- check jdk +# check nmsjdk +NMS_HOME=`cd "$DATACONTROLLER_HOME/.." ; pwd` +cd "$DATACONTROLLER_HOME"/shell +NMS_JDK="$NMS_HOME"/nmsjdk +if [ ! -e "$NMS_JDK" ] + then + echo "$NMS_JDK not exist" + exit 0 +fi +# check java -version +javaversion=`$NMS_JDK/bin/java -version 2>&1|grep "java version"` +if [ ! -n "$javaversion" ] + then + echo "$NMS_JDK cannot use, please install" + exit 0 +fi + +# -------- set jdk path +export JAVA_HOME=$NMS_JDK +export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar +export PATH=$JAVA_HOME/bin:$PATH + +temp=$CLASSPATH +#setting libs path +libs="$DATACONTROLLER_HOME"/lib/* +append(){ + temp=$temp":"$1 +} +for file in $libs; do + append $file +done +jars="$DATACONTROLLER_HOME"/bin/* +for file in $jars; do + append $file +done +export DC_CLASSPATH=$temp:.:$DATACONTROLLER_HOME/conf +export LD_LIBRARY_PATH=$DATACONTROLLERT_HOME/lib +export LANG=zh_CN.UTF-8 + +echo "Using DATACONTROLLER_HOME: $DATACONTROLLER_HOME" +echo "Using DATACONTROLLER_TMPDIR: $DATACONTROLLER_TMPDIR" +echo "Using JAVA_HOME: $JAVA_HOME" +echo "Using CLASSPATH: $DC_CLASSPATH" + +# ---- get jvm param +jvmconf_file=$DATACONTROLLER_HOME"/conf/jvm.conf" +if [ -f $jvmconf_file ] + then + XmsOpt=`sed -n '/-Xms/p' $jvmconf_file` + XmxOpt=`sed -n '/-Xmx/p' $jvmconf_file` + JAVA_OPTS="$XmsOpt $XmxOpt -XX:+UseParNewGC" +else + JAVA_OPTS="-Xms64m -Xmx256m -XX:+UseParNewGC" +fi + +program="com.nms.server.DataController" +name="DataController" + +proc_id= + +writePid() +{ + ps aux|grep java|grep $program|grep -v grep|awk '{print $2}' > $DATACONTROLLER_TMPDIR/serverPid.temp +} +getPid() +{ + unset proc_id + proc_id=`ps aux|grep java|grep $program|grep -v grep|awk '{print $2}'` +} + +if [ "$1" = "start" ] ; then + getPid + if [ -n "$proc_id" ] + then + echo "$name already running......" + else + nohup java $JAVA_OPTS -classpath $DC_CLASSPATH $program >/dev/null & + sleep 3 + getPid + if [ -n "$proc_id" ] + then + echo "$name start success!!!!!" + writePid + else + echo "$name start error!!!!!" + fi + fi +elif [ "$1" = "stop" ]; then + getPid + if [ -n "$proc_id" ] + then + echo "$name is start, now kill......" + kill -15 $proc_id + sleep 3 + writePid + echo "$name kill ok !!!!!!!!!!!!!" + else + echo "$name is not start!!!!!!!!!!!" + fi +elif [ "$1" = "restart" ] ; then + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name is start, now restart......" >> $DATACONTROLLER_TMPDIR/job.log + count=1 + while [ $count -le 3 ] + do + sleep 1 + kill -15 $proc_id + sleep 1 + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop success!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + break + fi + count=$count+1 + done + + getPid + if [ -n "$proc_id" ] + then + sleep 1 + kill -9 $proc_id + getPid + if [ -n "$proc_id" ] + then + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name stop -9 error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + exit 1 + fi + fi + + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name is not start, now start......" >> $DATACONTROLLER_TMPDIR/job.log + fi + + #--------copy right, start proc + nohup java $JAVA_OPTS -classpath $DC_CLASSPATH $program >/dev/null & + sleep 3 + getPid + if [ -n "$proc_id" ] + then + writePid + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name restart success!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + else + echo "`date +%Y-%m-%d" "%H:%M:%S` :$name restart error!!!!!!!!!!" >> $DATACONTROLLER_TMPDIR/job.log + fi + +else + echo "Usage: datacontroller.sh ( commands ... )" + echo "commands:" + echo " start Start $name" + echo " stop Stop $name" + echo " restart ReStart $name in a separate window" +fi + +cd - diff --git a/linuxinstall/shell/restart.sh b/linuxinstall/shell/restart.sh new file mode 100644 index 0000000..41394e1 --- /dev/null +++ b/linuxinstall/shell/restart.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Retart Script for the DataController +# +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=datacontroller.sh + +if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "This file is needed to run this program" + exit 1 +fi + +exec "$PRGDIR"/"$EXECUTABLE" restart "$@"
\ No newline at end of file diff --git a/linuxinstall/shell/root b/linuxinstall/shell/root new file mode 100644 index 0000000..e5e34ab --- /dev/null +++ b/linuxinstall/shell/root @@ -0,0 +1 @@ +59 23 */2 * * /home/nms/datacontroller/shell/restart.sh diff --git a/linuxinstall/shell/shutdown.sh b/linuxinstall/shell/shutdown.sh new file mode 100644 index 0000000..f6dca3a --- /dev/null +++ b/linuxinstall/shell/shutdown.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Stop Script for the NMS Server +# +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` +EXECUTABLE=datacontroller.sh + +if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "This file is needed to run this program" + exit 1 +fi + +exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
\ No newline at end of file diff --git a/linuxinstall/shell/startup.sh b/linuxinstall/shell/startup.sh new file mode 100644 index 0000000..eabf268 --- /dev/null +++ b/linuxinstall/shell/startup.sh @@ -0,0 +1,34 @@ +#!/bin/sh + +# ----------------------------------------------------------------------------- +# Start/Stop Script for the NMSSERVER Server +# +# Environment Variable Prequisites +# +# NMSSERVER_HOME May point at your NMSSERVER "build" directory. +# ----------------------------------------------------------------------------- + +# resolve links - $0 may be a softlink +PRG="$0" + +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`/"$link" + fi +done + +PRGDIR=`dirname "$PRG"` + +EXECUTABLE=datacontroller.sh + +if [ ! -x "$PRGDIR"/"$EXECUTABLE" ]; then + echo "Cannot find $PRGDIR/$EXECUTABLE" + echo "This file is needed to run this program" + exit 1 +fi + +exec "$PRGDIR"/"$EXECUTABLE" start "$@" |
