123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- #!/bin/bash
- #echo color
- WHITE_COLOR="\E[1;37m";
- RED_COLOR="\E[1;31m";
- BLUE_COLOR='\E[1;34m';
- GREEN_COLOR="\E[1;32m";
- YELLOW_COLOR="\E[1;33m";
- RES="\E[0m";
- printf "${GREEN_COLOR}\n"
- cat<<EOT
- --------------------------------------------
- / \\
- / ___ _ __ ___ _ __ ___ _ __ ___ _ __ \\
- / / _ \| '_ \ / _ \ '_ \ / __| '__/ _ \| '_ \\ \\
- / | (_) | |_) | __/ | | | (__| | | (_) | | | | \\
- \\ \___/| .__/ \___|_| |_|\___|_| \___/|_| |_| /
- \\ |_| /
- \\ /
- \\ --opencron,Let's crontab easy! /
- --------------------------------------------
- EOT
- printf "${RES}\n";
- echo_r () {
- # Color red: Error, Failed
- [ $# -ne 1 ] && return 1
- printf "[${GREEN_COLOR}opencron${RES}] ${RED_COLOR}$1${RES}\n"
- }
- echo_g () {
- # Color green: Success
- [ $# -ne 1 ] && return 1
- printf "[${GREEN_COLOR}opencron${RES}] ${GREEN_COLOR}$1${RES}\n"
- }
- echo_y () {
- # Color yellow: Warning
- [ $# -ne 1 ] && return 1
- printf "[${GREEN_COLOR}opencron${RES}] ${YELLOW_COLOR}$1${RES}\n"
- }
- echo_w () {
- # Color yellow: White
- [ $# -ne 1 ] && return 1
- printf "[${GREEN_COLOR}opencron${RES}] ${WHITE_COLOR}$1${RES}\n"
- }
- # Make sure prerequisite environment variables are set
- if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
- if $darwin; then
- # Bugzilla 54390
- if [ -x '/usr/libexec/java_home' ] ; then
- export JAVA_HOME=`/usr/libexec/java_home`
- # Bugzilla 37284 (reviewed).
- elif [ -d "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home" ]; then
- export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home"
- fi
- else
- JAVA_PATH=`which java 2>/dev/null`
- if [ "x$JAVA_PATH" != "x" ]; then
- JAVA_PATH=`dirname $JAVA_PATH 2>/dev/null`
- JRE_HOME=`dirname $JAVA_PATH 2>/dev/null`
- fi
- if [ "x$JRE_HOME" = "x" ]; then
- # XXX: Should we try other locations?
- if [ -x /usr/bin/java ]; then
- JRE_HOME=/usr
- fi
- fi
- fi
- if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
- echo_r "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
- echo_r "At least one of these environment variable is needed to run this program"
- exit 1
- fi
- fi
- if [ -z "$JAVA_HOME" -a "$1" = "debug" ]; then
- echo "JAVA_HOME should point to a JDK in order to run in debug mode."
- exit 1
- fi
- if [ -z "$JRE_HOME" ]; then
- JRE_HOME="$JAVA_HOME"
- fi
- # If we're running under jdb, we need a full jdk.
- if [ "$1" = "debug" ] ; then
- if [ "$os400" = "true" ]; then
- if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
- echo_r "The JAVA_HOME environment variable is not defined correctly"
- echo_r "This environment variable is needed to run this program"
- echo_r "NB: JAVA_HOME should point to a JDK not a JRE"
- exit 1
- fi
- else
- if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/jdb -o ! -x "$JAVA_HOME"/bin/javac ]; then
- echo_r "The JAVA_HOME environment variable is not defined correctly"
- echo_r "This environment variable is needed to run this program"
- echo_r "NB: JAVA_HOME should point to a JDK not a JRE"
- exit 1
- fi
- fi
- fi
- # Don't override the endorsed dir if the user has set it previously
- if [ -z "$JAVA_ENDORSED_DIRS" ]; then
- # Set the default -Djava.endorsed.dirs argument
- JAVA_ENDORSED_DIRS="$OPENCRON_HOME"/endorsed
- fi
- # Set standard commands for invoking Java, if not already set.
- if [ -z "$RUNJAVA" ]; then
- RUNJAVA="$JRE_HOME"/bin/java
- fi
- if [ "$os400" != "true" ]; then
- if [ -z "$_RUNJDB" ]; then
- _RUNJDB="$JAVA_HOME"/bin/jdb
- fi
- fi
- #check java exists.
- $RUNJAVA >/dev/null 2>&1
- if [ $? -ne 1 ];then
- echo_r "ERROR: java is not install,please install java first!"
- exit 1;
- fi
- #check openjdk
- if [ "`${RUNJAVA} -version 2>&1 | head -1|grep "openjdk"|wc -l`"x == "1"x ]; then
- echo_r "ERROR: please uninstall OpenJDK and install jdk first"
- exit 1;
- fi
- # OS specific support. $var _must_ be set to either true or false.
- cygwin=false
- darwin=false
- os400=false
- case "`uname`" in
- CYGWIN*) cygwin=true;;
- Darwin*) darwin=true;;
- OS400*) os400=true;;
- esac
- # 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
- # Get standard environment variables
- PRGDIR=`dirname "$PRG"`
- WORKDIR=`cd "$PRGDIR" >/dev/null; pwd`;
- APP_ARTIFACT=opencron-server
- LIB_PATH="$WORKDIR"/WEB-INF/lib
- LOG_PATH="$WORKDIR"/work/logs
- # Add jars to classpath
- if [ ! -z "$CLASSPATH" ] ; then
- CLASSPATH="$CLASSPATH":
- fi
- CLASSPATH="$CLASSPATH""$WORKDIR"/WEB-INF/classes
- for jar in ${LIB_PATH}/*
- do
- CLASSPATH="$CLASSPATH":"$jar"
- done
- #start server....
- printf "[${BLUE_COLOR}opencron${RES}] ${WHITE_COLOR} server Starting.... ${RES}\n"
- eval "\"$RUNJAVA\"" \
- -classpath "\"$CLASSPATH\"" \
- -Dserver.launcher=tomcat \
- org.opencron.server.bootstrap.Startup $1 \
- >/dev/null 2>&1 "&";
- printf "[${BLUE_COLOR}opencron${RES}] ${WHITE_COLOR} please see log for more detail:${RES}${GREEN_COLOR} $LOG_PATH/opencron.out ${RES}\n"
- exit $?
|